• elementUI 穿梭框应用


    Array.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似。该方法属于 ES7

    该方法的第二个参数表示搜索的起始位置,默认为 0 。如果第二个参数为负数,则表示倒数的位置,如果这时它大于数组长度(比如第二个参数为 -4 ,但数组长度为 3 ),则会重置为从 0 开始。

    ['a', 'b', 'c'].includes('a'); // true
    
    ['a', 'b', 'c'].includes('d'); // false
    
    ['a', 'b', NaN].includes(NaN); // true
    
    
    
    [1, 2, 3].includes(3, 3); // false
    
    [1, 2, 3].includes(3, -1); // true
     

    String.prototype.includes()方法用于判断一个字符串是否包含另外一个字符串,根据情况返回 true 或 false。

                    // fiterArr这是  筛选arr中id符合arrID数组项后的数组
                    var fiterArr=[];
    
                    // 这是一个arr数组
                    var arr=[ {id:1,name:"第一项"},{id:2,name:"第二项"},{id:3,name:"第三项"}];
    
                    // 这是一个包含由arr里面id组成的数组
                    var arrId=[1,2];
    
                    // arr.forEach(item=>{
                    //   arrId.forEach(subitem=>{
                    //     if(item.id==subitem){
                    //       fiterArr.push(item);
                    //     }
                    //   })
                    // })
    
                    fiterArr=arr.filter(item=>arrId.includes(item.id));  //更好方式实现
    
                    console.log(fiterArr);

     elementUI实现穿梭框

    <el-transfer
                  v-model="movePlan.value"
                  :props="{
                    key: 'id',
                    label: 'jobName'
                  }"
                  :button-texts="['撤回','转移']"
                   :titles="['原数据', '转移数据']"
                  :data="movePlan.data"
                  :filterable="false"
                  @change="changeRight"
                  >
                  <span slot-scope="{ option }">{{ option.jobName }}-{{ option.jobBranch }} -{{ option.jobLevel }}</span>
                  <template slot="right-footer">
                    <div style="padding:5px">
                    <el-select v-model="movePlan.targetPlanId"  popper-class="selectClass" placeholder="请选择考试计划">
                      <el-option v-for="item in availablePlanList"
                       :key="item.id"
                       :value="item.id"
                       :label="item.name"
                      >
                      </el-option>
                    </el-select>
                      </div>
                  </template>
              </el-transfer>
     changeRight(value, direction, movedKeys){
                  // 当前值即右侧值(key数组)、数据移动的方向('left' / 'right')、发生移动的数据 key 数组    
                  console.log(value, direction, movedKeys);
                  if(value.length>0){
                       let fiterArr=this.movePlan.data.filter(item=>value.includes(item.id));
                       console.log("筛选==",fiterArr);
                  }
          }
  • 相关阅读:
    理解和学习qml
    (离线)英语词典软件推荐
    Ubuntu:安装deb文件包以及deb卸载
    mac man汉化方法
    Linux中文件和目录的权限(r, w, x)
    解决mac休眠掉电的解决方法
    线程池之ThreadPool与ForkJoinPool
    程序员的知识焦虑
    回顾2018,展望2019
    NIO基础学习——缓冲区
  • 原文地址:https://www.cnblogs.com/ddqyc/p/15476828.html
Copyright © 2020-2023  润新知