我需要确保当您单击一个已经激活的选项时,它将被取消选择。
<v-select class="form-control" name="language" v-model="language" id="language" :options="['English', 'Polish']" :clearable="false" :searchable="false" :multiple="true" :closeOnSelect="false"></v-select>
我在网上和文件上找不到这方面的信息,所以我希望你能提供帮助。
发布于 2021-03-09 05:15:40
没有为vue-select包构建任何取消选择项的方法或道具,但是有两种方法可以这样做:
1)您可以使用(选项:选择)事件来自己筛选数组,然后取消对该选项的选择。查看下面的示例。
<template>
<div>
<v-select
class="form-control"
name="language"
v-model="language"
id="language"
:options="['English', 'Polish']"
:clearable="false"
:searchable="false"
:multiple="true"
:closeOnSelect="false"
@option:selecting="handleDeselect"
></v-select>
<div class="mt-40">Languages is : {{ language }}</div>
</div>
</template>
<script>
import vSelect from "vue-select";
import "vue-select/dist/vue-select.css";
export default {
components: { vSelect },
data() {
return {
language: ["English"],
};
},
methods: {
handleDeselect(e) {
// Check if the lagueage array contains the selected element (e)
// If so, filter the language array
if (this.language.includes(e)) {
this.language = this.language.filter((el) => {
return el != e;
});
}
},
},
};
</script>2)使用vue-multiselect包,它提供开箱即选(最简单和我最喜欢的方式)
https://stackoverflow.com/questions/66537768
复制相似问题