自定义组件的vue2里的v-model在vue3中如何实现
在Vue 3中,自定义组件的v-model实现方式与Vue 2有所不同。在Vue 3中,v-model不再自动将父组件的prop和子组件的事件绑定,而是需要手动进行配置。
以下是在Vue 3中实现自定义组件的v-model的步骤:
- 在父组件中,使用组件时,通过v-model指令绑定一个值到子组件上:
<ChildComponent v-model="value"></ChildComponent>
- 在子组件中,通过
emits选项声明一个名为update:modelValue的事件:
emits: ['update:modelValue'],
- 在子组件的模板中,使用
v-bind绑定父组件传递的值,并在需要更新时触发update:modelValue事件:
<template>
<input :value="modelValue" @input="$emit('update:modelValue', $event.target.value)">
</template>
- 在父组件中,使用子组件的
v-model绑定值时,Vue 3会自动将modelValue作为prop传递给子组件,并监听update:modelValue事件,实现双向绑定:
<ChildComponent v-model="value"></ChildComponent>
注意:在Vue 3中,modelValue是默认的prop名称,如果需要自定义prop名称,可以在子组件中使用props选项来进行配置。
以上是在Vue 3中实现自定义组件的v-model的步骤。请注意,Vue 3中的v-model实现方式更加灵活,可以适应不同的需求
原文地址: http://www.cveoy.top/t/topic/iLuZ 著作权归作者所有。请勿转载和采集!