如何在vue multi select中取消选择预选的组选项?

时间:2019-01-14 04:48:49

标签: javascript vue.js vuejs2 vue-multiselect

我正在使用vue multi select插件。我正在使用组选择选项来明智地选择值组。我将所选的值存储在本地存储中,以维护用户的预选选项。 当我为组选择值时,它可以正常工作,但是当我在重新加载页面上预先选择值时,这些值会正确设置,但全选选项不会取消选择所选择的值。

是否可以在vue multi select中跟踪组取消选择选项,或者可以有效地使用此vue multiselect插件并保持选择和取消选择的值。

Vue多重选择标记代码与二手道具一起显示如下。

    <multiselect
  v-model="location"
  :options="options"
  :multiple="true"
  :close-on-select="false"
  :clear-on-select="false"
  :preserve-search="true"
  placeholder="Locations"
  label="name"
  track-by="name"
  :allow-empty="true"
  @input="updateOptions($event)"
  group-values="locationData"
  group-label="location"
  :group-select="true"
  :preselect-first="false"
>
  <template slot="selection" slot-scope="{ values, search, isOpen }">
    <span
      class="multiselect__single"
      v-if="values.length &amp;&amp; !isOpen"
    >{{ values.length }} Locations Selected</span>
  </template>
</multiselect>

脚本:

  data() {
return {
  locations: {},
  location: {},
  options: [
    {
      location: "Select All",
      locationData: []
    }
  ]
};

}

我正在页面加载时设置位置数组。

1 个答案:

答案 0 :(得分:0)

 computed: {
    options_length: function () {
        return this.item.options.length;
    }
},
methods:{

    onSelectChange (value) {
        if (value.length == this.options_length && this.selectedAll === null) {
        console.log(this.options_length);
            this.selectedAll = true;
        } else if (value.length == this.options_length && this.selectedAll === true) {
            this.selectedOptions = [];
            this.selectedAll = null;
        }
        // do the thing
    },