AI文库-您身边的智能助手,如没有想要的内容请与本站万能的AI助手联系。

封装一个可以在父组件用v-model的原生select组件

来自 上海市上海市 的网友 时间: 热度:°C 加入收藏 我要投稿 点赞()
首先,我们需要创建一个自定义的原生Select组件,然后在父组件中使用v-model进行双向绑定。

1. 创建自定义Select组件(CustomSelect.vue):

```html
<template>
<select :value="value" @change="onChange">
<option v-for="(option, index) in options" :key="index" :value="option.value">
{{ option.label }}
</option>
</select>
</template>

<script>
export default {
props: {
value: {
type: [String, Number],
required: true
},
options: {
type: Array,
default: () => []
}
},
methods: {
onChange(event) {
this.$emit('input', event.target.value);
}
}
};
</script>
```

2. 在父组件中使用自定义Select组件(ParentComponent.vue):

```html
<template>
<div>
<custom-select v-model="selectedValue" :options="options"></custom-select>
</div>
</template>

<script>
import CustomSelect from './CustomSelect.vue';

export default {
components: {
CustomSelect
},
data() {
return {
selectedValue: '',
options: [
{ label: '选项1', value: '1' },
{ label: '选项2', value: '2' },
{ label: '选项3', value: '3' }
]
};
}
};
</script>
```

这样,我们就创建了一个可以在父组件用v-model的原生select组件。
221381
领取福利

微信扫码领取福利

微信扫码分享