el-table多页面选中数据实现的问题

项目场景:

el-table实现跨页面选中


问题描述:

el-table里的@selection-change事件,正常选中的时候只能单页面多数据选中,跨页面后默认重新调用了selection-change事件,所有选中数据被清除

<el-table
  ref="multipleTable"
  :data="tableData"
  tooltip-effect="dark"
  @sort-change="onSortChange"
  @selection-change="hanleSelect"
  :row-key="getRowKey"
><el-table-column type="selection" :reserve-selection="true"></el-table-column></el-table>

 hanleSelect(val){
   console.log(val)
 },

 getRowKey(row){
   return row.id
 },

 


原因分析:

表格变动会触发选中事件


解决方案:

按照官方文档提示,给el-table-column添加:reserve-selection="true"属性,注意,该属性需要给el-table配置:row-key属性,实现方法很简单,但是很少会主动注意到该解决方式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
el-dialog和el-table数据联动可以通过以下几个步骤实现: 1. 在el-dialog中定义需要编辑的表单字段,绑定表单数据对象。 ```html <el-dialog v-model="dialogVisible" title="编辑数据"> <el-form :model="formData" ref="form"> <!-- 表单字段 --> <el-form-item label="名称" prop="name"> <el-input v-model="formData.name"></el-input> </el-form-item> <el-form-item label="年龄" prop="age"> <el-input v-model.number="formData.age"></el-input> </el-form-item> <!-- 其他表单字段 --> </el-form> </el-dialog> ``` 2. 在el-table中定义展示数据的列,并绑定数据列表。 ```html <el-table :data="tableData"> <el-table-column label="名称" prop="name"></el-table-column> <el-table-column label="年龄" prop="age"></el-table-column> <!-- 其他列 --> </el-table> ``` 3. 在页面中使用Vue的双向数据绑定,将el-dialog中的表单数据el-table中的数据列表进行联动。 ```javascript export default { data() { return { dialogVisible: false, // 控制对话框显示隐藏 formData: {}, // 表单数据对象 tableData: [], // 数据列表 }; }, methods: { editData(row) { this.formData = { ...row }; // 将选中行的数据赋值给表单对象 this.dialogVisible = true; // 打开对话框 }, saveData() { // 保存数据逻辑 // 更新tableData中对应的数据 // 关闭对话框 }, }, }; ``` 在el-dialog中的编辑按钮绑定`editData`方法,当点击编辑按钮时,会将选中行的数据赋值给表单对象,并打开el-dialog对话框。 在el-dialog中的保存按钮绑定`saveData`方法,当点击保存按钮时,执行保存数据的逻辑,更新tableData中对应的数据,并关闭el-dialog对话框。 这样就实现了el-dialog和el-table数据联动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值