修复 table 点击 `radio` 列的选项时报错问题

pull/1247/head
sunxiaobin89 2023-04-28 18:35:52 +08:00
parent 0b41afe245
commit 0fdaf22f82
1 changed files with 32 additions and 32 deletions

View File

@ -126,17 +126,17 @@ layui.define(['table'], function (exports) {
options.parseData = function () { options.parseData = function () {
var parseDataThat = this; var parseDataThat = this;
var args = arguments; var args = arguments;
var retData = args[0]; var retData = args[0];
if (layui.type(parseData) === 'function') { if (layui.type(parseData) === 'function') {
retData = parseData.apply(parseDataThat, args) || args[0]; retData = parseData.apply(parseDataThat, args) || args[0];
} }
var dataName = parseDataThat.response.dataName; var dataName = parseDataThat.response.dataName;
// 处理 isSimpleData // 处理 isSimpleData
if (treeOptions.data.isSimpleData && !treeOptions.async.enable) { // 异步加载和 isSimpleData 不应该一起使用 if (treeOptions.data.isSimpleData && !treeOptions.async.enable) { // 异步加载和 isSimpleData 不应该一起使用
retData[dataName] = that.flatToTree(retData[dataName]); retData[dataName] = that.flatToTree(retData[dataName]);
} }
that.initData(retData[dataName]); that.initData(retData[dataName]);
return retData; return retData;
} }
@ -159,25 +159,25 @@ layui.define(['table'], function (exports) {
var args = arguments; var args = arguments;
var doneThat = this; var doneThat = this;
var tableView = this.elem.next(); var tableView = this.elem.next();
that.updateStatus(null, { that.updateStatus(null, {
LAY_HAS_EXPANDED: false // 去除已经打开过的状态 LAY_HAS_EXPANDED: false // 去除已经打开过的状态
}); });
// 更新cache中的内容 将子节点也存到cache中 // 更新cache中的内容 将子节点也存到cache中
updateCache(id, childrenKey); updateCache(id, childrenKey);
// 更新全选框的状态 // 更新全选框的状态
var layTableAllChooseElem = tableView.find('[name="layTableCheckbox"][lay-filter="layTableAllChoose"]'); var layTableAllChooseElem = tableView.find('[name="layTableCheckbox"][lay-filter="layTableAllChoose"]');
if (layTableAllChooseElem.length) { if (layTableAllChooseElem.length) {
var checkStatus = treeTable.checkStatus(id); var checkStatus = treeTable.checkStatus(id);
layTableAllChooseElem.prop({ layTableAllChooseElem.prop({
checked: checkStatus.isAll && checkStatus.data.length, checked: checkStatus.isAll && checkStatus.data.length,
indeterminate: !checkStatus.isAll && checkStatus.data.length indeterminate: !checkStatus.isAll && checkStatus.data.length
}) })
} }
that.renderTreeTable(tableView); that.renderTreeTable(tableView);
if (layui.type(done) === 'function') { if (layui.type(done) === 'function') {
return done.apply(doneThat, args); return done.apply(doneThat, args);
} }
} }
@ -1259,9 +1259,9 @@ layui.define(['table'], function (exports) {
var options = obj.config; var options = obj.config;
var tableView = options.elem.next(); var tableView = options.elem.next();
var tableId = options.id; var tableId = options.id;
var that = getThisTable(tableId);
if (tableView.hasClass('layui-table-tree')) { if (tableView.hasClass('layui-table-tree')) {
var that = getThisTable(tableId);
updateObjParams(obj); updateObjParams(obj);
checkNode.call(that, obj.tr, obj.checked) checkNode.call(that, obj.tr, obj.checked)
} }