首页 >> 大全

Vue3中父子组件实现数据双向绑定效果

2023-09-02 大全 30 作者:考证青年

组件

<template><div class="user"><hy-form v-model="formData" /></div>
</template><script lang="ts">
import { defineComponent, ref } from 'vue'
import HyForm from '@/base-ui/form'export default defineComponent({components: { HyForm },name: 'sysUser',setup() {const formData = ref({id: '',password: '',})return {formData,}}
})
</script><style scoped></style>

vue父子组件双向数据绑定__父子组件的双向绑定

数据使用v-model传递给子组件

子组件:

vue父子组件双向数据绑定__父子组件的双向绑定

<template><div class="hy-form"><el-inputplaceholder="请输入用户"v-model="formData.id"/></div>
</template><script lang="ts">
import { defineComponent, ref, watch } from 'vue'export default defineComponent({props: {// modelValue为约定俗成字段,就是父组件传来的v-model绑定的值modelValue: {type: Object,required: true},},emits: ['update:modelValue'],setup(props, { emit }) {// 这里父子是因为不直接修改modelValue中的数据,保持单一数据流const formData = ref({ ...props.modelValue })// 监听formData中数据的改变watch(formData,(newValue) => {// 数据双向绑定给modelValueemit('update:modelValue', newValue)},{deep: true})return {formData}}
})
</script><style scoped lang="less">
.hy-form {padding-top: 22px;
}
</style>

使用进行接收,将接收的拷贝给,并监听的数据是否改变,改变了就将新数据emit(‘:’, 新数据)更新数据

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了