自定义组件v-model
时间: 2023-09-12 12:11:28 浏览: 108
自定义组件可以使用 `v-model` 来实现双向数据绑定。在你的组件中,需要接收一个 `value` 属性来作为传入的值,并在需要更新值的地方通过 `$emit` 方法触发一个名为 `input` 的事件来更新父组件的值。
这里是一个简单的示例代码:
```html
<template>
<div>
<input :value="value" @input="updateValue($event.target.value)" />
</div>
</template>
<script>
export default {
props: ['value'],
methods: {
updateValue(newValue) {
this.$emit('input', newValue);
}
}
}
</script>
```
然后,你可以在父组件中使用 `v-model` 来绑定这个自定义组件的值:
```html
<template>
<div>
<custom-component v-model="customValue" />
</div>
</template>
<script>
import CustomComponent from './CustomComponent.vue';
export default {
components: { CustomComponent },
data() {
return {
customValue: ''
};
}
}
</script>
```
现在,`customValue` 变量将与 `CustomComponent` 组件中的输入框的值进行双向绑定。当输入框的值发生变化时,`customValue` 也会相应地更新。
阅读全文