vue3中update:modelValue的使用与不生效问题解决
v-model中update:modelValue
v-model的主要原因是由于value和input事件可能另有它用,那么我们可不可以直接使用另外的属性和方法,而不需要去通过model进行定义。
vue3中就实现了这个功能,v-model绑定的不再是value,而是modelValue,接收的方法也不再是input,而是update:modelValue
写法:
<ChildComponent v-model:title="title" /> //或者 <ChildComponent :modelValue = "title" @update:modelValue = "title = $event"> // 或者 <ChildComponent :title="title" @update:title = "title = $event" />
使用:
父组件
<wm-tinymce ref="editor" v-model="data.introduction" :min-height="400" name="职能管理" placeholder="请编辑职能大类" />
子组件
<div class="tinymce-container"> <editor v-model="tinymceData" :api-key="key" :init="tinymceOptions" :name="name" :readonly="tinymceReadOnly" /> </div> <script> import { ref, watch, watchEffect } from 'vue' import Editor from '@tinymce/tinymce-vue' import { key, plugins, toolbar, setting } from './config' export default { name: 'WmTinymce', components: { Editor }, props: { modelValue: { type: String, default: '', }, readOnly: { type: Boolean, default: false, }, options: { type: Object, default() { return { plugins, toolbar } }, }, name: { type: String, default: '', }, }, emits: ['update:modelValue'], setup(props, { emit }) { const tinymceData = ref(props.modelValue) // 编辑器数据 watch( () => tinymceData.value, (data) => emit('update:modelValue', data) ) // 监听富文本输入值变动 return { tinymceData, } }, } </script>
vue3子组件update:modelValue不生效问题
用event去做绑定
<ChildComponent :title=“title” @update:title = “title = $event” />
也就是加上 @update:title = “title = $event”
测试成功
总结
到此这篇关于vue3中update:modelValue的使用与不生效问题解决的文章就介绍到这了,更多相关vue3 update:modelValue使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue使用vue-json-viewer插件展示JSON格式数据的方法
这篇文章主要给大家介绍了关于vue使用vue-json-viewer插件展示JSON格式数据的相关资料,前端使用这个插件可以方便展现出json格式的数据,下载引入使用代码可直接使用,需要的朋友可以参考下2024-05-05详解windows下vue-cli及webpack 构建网站(四) 路由vue-router的使用
本篇文章主要介绍了windows下vue-cli及webpack 构建网站(四) 路由vue-router的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-06-06
最新评论