easyui中table多选只能获取到一条的问题

前言

最近在改一个老项目的时候遇到了一个问题,有一个页面需要多选,点击某按钮时需要获取到表格中多选的行,配置都正常,但是始终只能获取到一行数据,下面记录下问题解决过程

解决

首先table如果需要多选,需要配置singleSelect: false,多选属性,还有一个idField 属性,至少需要这两个属性

获取多选数据方法

1
$('#product_table').datagrid('getSelections');

getSelections是固定的,#product_table是table的ID,我检查了下这些都是正常的,多选后打印了以上数据,返回的只有1行数据,所以感觉还是哪配置的问题

关键

查了一通后,发现idField这个属性配置的有误,因为是从其他页面拷过来的,这个接口中没有这个属性!

这个属性的意思是用来标识一行的唯一ID值,所以要多选的话,列表数据中一定要有唯一ID,**idField也一定要配置正确**,否则就是给自己挖坑,这个错误真的很难找