ruoyi.js
// 加载成功、选中、取消、全部选中、全部取消(事件)
$(optionsIds).on("check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table load-success.bs.table", function () {
var toolbar = table.options.toolbar;
var uniqueId = table.options.uniqueId;
// 工具栏按钮控制
var rows = $.common.isEmpty(uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(uniqueId);
// 非多个禁用
$('#' + toolbar + ' .multiple').toggleClass('disabled', !rows.length);
// 非单个禁用
$('#' + toolbar + ' .single').toggleClass('disabled', rows.length!=1);
});
点击复选框后$.table.selectFirstColumns()拿不到值导致rows为空。
错误原因:第一列中未正确地设置数据属性:$.table.selectFirstColumns()方法依赖于表格列中的数据属性(例如data-field)。如果第一列没有设置正确的属性,该方法将无法正确选取到数据。请检查第一列数据属性是否正确。
目前解决方案(不使用orderNum:true,在下方重写序号列)
// orderNum: true,
columns: [
{
checkbox: true
},
{
field: 'userId',
title: '用户ID',
visible: false
},
{
title: "序号",
align: 'center',
formatter: function (value, row, index) {
return $.table.serialNumber(index);
}
}
]