el-table 翻页多选(同时支持回显已选的接口返回数据)、选择框禁选

el-table 翻页多选(同时支持回显已选的接口返回数据)、选择框禁选

1、翻页多选

实现::row-key=“getRowKeys” 配合:reserve-selection=“true”

<el-table
   :data="list"
   :row-key="getRowKeys"
   ref="multipleTable"
   @selection-change="handleSelectionChange"
 >
   <el-table-column type="selection" width="35" :reserve-selection="true"> </el-table-column>
</el-table>


methods: {
	getRowKeys(row){
       return row.id
    },
    // 接口获取表单数据
    getList(){
        let _query = {}; // 请求参数
    	request({
	        url: `/api/info/projectBase/getList`,
	        method: "post",
	        data: _query,
	      }).then((res) => {
	        this.list = res.data.list;
	        this.total = res.data.pagination.total;

			// 处理表单数据,已选数据和翻页选择的数据反显在表单中
	        let flag = this.selectedProject.findIndex(subItem => subItem.projectId == item.id)
            let flag1 = this.multipleSelection.findIndex(subItem => subItem == item.id)
            if(flag != -1 || flag1!= -1){
              this.$refs.multipleTable.toggleRowSelection(item)
            }
	    }
	},
	// 接口获取已选数据
	getProjectList() {
      let _query = {};
      request({
        url: `/api/process/TaskProject/getList`,
        method: "post",
        data: _query,
      }).then((res) => {
        this.selectedProject = JSON.parse(JSON.stringify(res.data.list));
      });
    },
	handleSelectionChange(val) {
      this.selectData = val;
      const res = val.map((item) => item.id);
      this.multipleSelection = res;
    },
}

2、选择框禁选

实现:type="selection"的列绑定selectable方法。

<el-table-column
    type="selection"
    width="50"
    :selectable="selectEnable">
</el-table-column>

methods: {
	selectEnable(row, rowindex) {
	  // 这里可以根据数据某个特性控制是否禁止选择
      return true;
    }}

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值