javascript-搜索时保持所选项目的引用

时间:2018-12-10 12:53:06

标签: javascript vue.js

我有一个图片库,用户可以在其中选择图片并按日期和单词进行搜索。

用户可以正常选择照片,但是,按日期或单词搜索时,单击另一项后,javascript丢失并且选择了上一项。

100%的工作https://prnt.sc/lt26ro

搜索空白=好的https://prnt.sc/lt274r

问题

https://prnt.sc/lt27jd

因此,如果我单击另一张照片,则会在阵列中添加错误的照片

 <figure class="image is-4by3" v-if="file.type == 'image'" @click="showModal(file);  defineItems(file,index); current = index;">

defineItems(项目,索引){       this.defineClicked = true;

  let file = this.files[index];

  file.current = !file.current;

  for(var i = 0; this.files.length > i; i++){
    if(this.files[i].current){
      console.log(this.files[i].id);
      this.itensSelecionados.push(this.files[i]);
    } else {
        this.itensSelecionados.splice(i ,1);
    }
  }

    this.$set(this.files, index, file);

}

获取,设置和搜索

filteredCustomers:         {           get:function(){

        var self = this;

        if(this.files.length > 0){
          var resultado = '';


          if(self.date && self.search){
            resultado = this.files.filter(function(cust){
              console.log(cust);
                return cust.name.toLowerCase().indexOf(self.search.toLowerCase())>=0 && cust.created_at.toLowerCase().indexOf(self.date)>=0;
            });
          }else if(self.date){
            resultado = this.files.filter(function(cust){
                return cust.created_at.toLowerCase().indexOf(self.date)>=0;
            });
          }else if(self.search) {
            resultado = this.files.filter(function(cust){
                return cust.name.toLowerCase().indexOf(self.search.toLowerCase())>=0;
            });
          }else {
            resultado = this.files;
          }
          return resultado;
        }
      },
      set: function(data){
        console.log('set');
        let file = null;
        this.itensSelecionados = [];
        console.log(file);
        var self = this;
        if(this.files.length > 0){
         return this.files.filter(function(cust){
           var dataSelecionada = data.split('/');
           return cust.created_at.toLowerCase().indexOf(self.date)>=0;
         });
        }
      }
    }
},

0 个答案:

没有答案