Vue.js MultiSelect和为表视图发射多个值

遇到一个问题,其中处理多个值的数组已相应更新,但未显示<table>结果。

包含下拉选项的组件是Filters.vue(为演示目的简化了一点):

<multiselect v-model="selectedStatus" :options="statuses" :multiple="true" label="text" track-by="text">

data() {
  return {
    selectedStatus: [],statuses: [
      {value: null,text: 'Select a Status'},{value: 'Approved',text: 'Approved'},{value: 'Completed',text: 'Completed'},{value: 'Cancelled',text: 'Cancelled'}
  watch: {
    selectedStatus: function(){
      this.$emit('updateStatus',this.selectedStatus)
    }

上述组件用于以下组件Tracker.vue

<filters :status="selectedStatus" @updateStatus="updateStatus('extra',...arguments)"></filters>

data() {
  return {
    selectedStatus: [],},watch: {
  selectedStatus: function(){
    this.applyFilters();
  },methods: {
  updateStatus: function(extra,a,b,c) {
    this.selectedStatus.push([extra,c]);
  },applyFilters: function() {
    // store details based on filters selected
    this.filteredDetails = []
    for (var i in this.details){
      if (this.selectedStatus && !this.selectedStatus.includes(this.details[i].status)){
        continue;
      }
      else {
        this.filteredDetails.push(this.details[i]);
      }
    }
  }

控制台。记录选择多个下拉列表时的数组长度。本帖子简化了applyFilters方法,因为UI上总共有5个单独的下拉菜单。当Status是单选下拉列表时,此方法工作正常。 applyFilters方法是一种差劲的方法还是最好的方法?

引用了此JSFiddle,因为它在Github VueJS repohttps://jsfiddle.net/50wL7mdz/30115/

上得到了高度评​​价

任何人和所有人都对如何解决此问题表示赞赏。

gengwenshuang 回答:Vue.js MultiSelect和为表视图发射多个值

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2956578.html

大家都在问