Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在自定义选择组件中使用多个v模型?_Javascript_Vuejs2 - Fatal编程技术网

Javascript 如何在自定义选择组件中使用多个v模型?

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> <

我有以下vue组件

<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 pass
v-model
数组而不是将所选值附加到数组中时,该数组将被当前所选选项的值替换。也许这与我发出
input
事件的方式有关那么,如何创建具有多个支持的自定义
select
组件呢?

我稍微修改了代码,使用绑定到select的局部变量,使用
v-model
,并发出绑定值。这将导致在
multiple
为true时发出所选值的数组

console.clear()
常量自定义选择={
模板:`
{{label}}
`,
名称:'ha select',
道具:['label','value','multiple'],
数据(){
返回{
所选:此值为0
}
},
}
新Vue({
el:“应用程序”,
数据:{
相册:[]
},
组成部分:{
自定义选择
}
})

月球的黑暗面
动物
墙
选定的相册{{Albums}

@zola这回答了你的问题吗?