Javascript 如何在自定义选择组件中使用多个v模型?
我有以下vue组件Javascript 如何在自定义选择组件中使用多个v模型?,javascript,vuejs2,Javascript,Vuejs2,我有以下vue组件 <template> <div id="input-div"> <label v-if="label">{{ label }}</label> <select :multiple="multiple" :value="value" @change="change($event.target.value)"> <slot></slot> <
<template>
<div id="input-div">
<label v-if="label">{{ label }}</label>
<select :multiple="multiple" :value="value" @change="change($event.target.value)">
<slot></slot>
</select>
<div class="error"><slot name="error"></slot></div>
</div>
</template>
<script>
export default {
name: 'ha-select',
props: ['label', 'value', 'multiple'],
methods: {
change(value) {
this.$emit('input', value);
}
}
}
</script>
{{label}}
导出默认值{
名称:'ha select',
道具:['label','value','multiple'],
方法:{
更改(值){
这是。$emit('input',value);
}
}
}
由于它是一个select组件,我希望它可以与
v-model
一起使用,当未设置multiple
属性时,该组件可以工作,但当我设置multiple passv-model
数组而不是将所选值附加到数组中时,该数组将被当前所选选项的值替换。也许这与我发出input
事件的方式有关那么,如何创建具有多个支持的自定义select
组件呢?我稍微修改了代码,使用绑定到select的局部变量,使用v-model
,并发出绑定值。这将导致在multiple
为true时发出所选值的数组
console.clear()
常量自定义选择={
模板:`
{{label}}
`,
名称:'ha select',
道具:['label','value','multiple'],
数据(){
返回{
所选:此值为0
}
},
}
新Vue({
el:“应用程序”,
数据:{
相册:[]
},
组成部分:{
自定义选择
}
})
月球的黑暗面
动物
墙
选定的相册{{Albums}
@zola这回答了你的问题吗?