使用element 穿梭框分页加搜索框实现

背景:根据类目选择面料,因为面料太多,故而在页面分页
在这里插入图片描述

  <el-transfer
                  v-model="fabricVOS"
                  :props="{
                    key:'fabricNo',
                    value:'fabricNo'
                  }"
                  :data="fabricList"
                  style="justify-content:flex-start;"
                >
                  <el-pagination
                    slot="left-footer"
                    :current-page="listQuery.current"
                    :page-size="listQuery.size"
                    :total="listQuery.total"
                    :pager-count="5"
                    small
                    align="right"
                    layout="prev, pager, next"
                    @current-change="handleCurrentChange"
                  ></el-pagination>
 </el-transfer>

关于分页的时候选择其他页面,目标数据丢失的问题,我的解决方法是
新增的时候:
在每一次分页的时候把目标源的数据塞到数据源

    if (this.fabricVOS.length > 0) {
          this.fabricVOS.map(item => {
            this.fabricList.push({ fabricNo: item })
          })
        }

这样即使切换页面,目标源的数据也不会丢失

编辑的时候
后端把已选中的数据塞到返回来的每一页的数据了

搜索框

 <el-input v-model="searchValue" style="margin-bottom: 10px;width: 200px" ></el-input>
 <el-button type="primary" size="small" style="margin-left: 10px" @click="handleChange">搜索</el-button>
 <el-button type="plain" size="small" @click="restValue">重置</el-button>

搜索我是本地搜索

    handleChange() {
      const value = this.searchValue
      const list = this.mianliaoList.filter(item => {       //获取全部数据遍历
        return item.fabricNo.indexOf(value) != -1
      })
      let lastList = []

      if (this.fabricVOS.length > 0) {     //目标源数据
        const fabricList = []
        this.fabricVOS.map(item => {
          fabricList.push({ fabricNo: item })   //数据源数据塞入目标源的数据
        })
        lastList = list.concat(fabricList)    //数据拼接
      } else {
        lastList = list
      }
      this.$nextTick(() => {
        this.listQuery.total = lastList.length     //修改分页的总数据
        this.fabricList = lastList                       
      })
    },
  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值