mirror of https://github.com/layui/layui
修复treeTable一些小修改,修改进入行事件中参数的setRowChecked方法,方便在一些场合便捷调用
parent
aafbfcc978
commit
41a000f39c
|
@ -639,7 +639,7 @@ layui.define(['table'], function (exports) {
|
||||||
treeTable.resize();
|
treeTable.resize();
|
||||||
} else {
|
} else {
|
||||||
console.log('目前暂时不支持展开全部');
|
console.log('目前暂时不支持展开全部');
|
||||||
return ;
|
return;
|
||||||
// 展开所有
|
// 展开所有
|
||||||
if (treeOptions.async.enable) {
|
if (treeOptions.async.enable) {
|
||||||
// 存在异步加载
|
// 存在异步加载
|
||||||
|
@ -905,6 +905,11 @@ layui.define(['table'], function (exports) {
|
||||||
obj.del = function () {
|
obj.del = function () {
|
||||||
treeTable.removeNode(tableId, trData);
|
treeTable.removeNode(tableId, trData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 处理setRowChecked
|
||||||
|
obj.setRowChecked = function (checked) {
|
||||||
|
treeTable.checkNode(tableId, trData, checked);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新数据
|
// 更新数据
|
||||||
|
@ -1295,21 +1300,29 @@ layui.define(['table'], function (exports) {
|
||||||
var isRadio = inputElem.attr('type') === 'radio';
|
var isRadio = inputElem.attr('type') === 'radio';
|
||||||
|
|
||||||
if (callbackFlag) {
|
if (callbackFlag) {
|
||||||
|
var triggerEvent = function () {
|
||||||
|
var fn = function (event) {
|
||||||
|
layui.stope(event);
|
||||||
|
}
|
||||||
|
inputElem.parent().on('click', fn); // 添加临时的阻止冒泡事件
|
||||||
|
inputElem.next().click();
|
||||||
|
inputElem.parent().off('click', fn);
|
||||||
|
}
|
||||||
// 如果需要触发事件可以简单的触发对应节点的click事件
|
// 如果需要触发事件可以简单的触发对应节点的click事件
|
||||||
if (isRadio) {
|
if (isRadio) {
|
||||||
// 单选只能选中或者切换其他的不能取消选中 后续看是否有支持的必要 todo
|
// 单选只能选中或者切换其他的不能取消选中 后续看是否有支持的必要 todo
|
||||||
if (checked && !inputElem.prop('checked')) {
|
if (checked && !inputElem.prop('checked')) {
|
||||||
inputElem.next().click();
|
triggerEvent()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (layui.type(checked) === 'boolean') {
|
if (layui.type(checked) === 'boolean') {
|
||||||
if (inputElem.prop('checked') !== checked) {
|
if (inputElem.prop('checked') !== checked) {
|
||||||
// 如果当前已经是想要修改的状态则不做处理
|
// 如果当前已经是想要修改的状态则不做处理
|
||||||
inputElem.next().click();
|
triggerEvent()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 切换
|
// 切换
|
||||||
inputElem.next().click();
|
triggerEvent()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1337,7 +1350,7 @@ layui.define(['table'], function (exports) {
|
||||||
// 切换只能用到单条,全选到这一步的时候应该是一个确定的状态
|
// 切换只能用到单条,全选到这一步的时候应该是一个确定的状态
|
||||||
checked = layui.type(checked) === 'boolean' ? checked : !trData[checkName]; // 状态切换,如果遇到不可操作的节点待处理 todo
|
checked = layui.type(checked) === 'boolean' ? checked : !trData[checkName]; // 状态切换,如果遇到不可操作的节点待处理 todo
|
||||||
// 全选或者是一个父节点,将子节点的状态同步为当前节点的状态
|
// 全选或者是一个父节点,将子节点的状态同步为当前节点的状态
|
||||||
if (!trData || trData[isParentKey]) {
|
// if (!trData || trData[isParentKey]) {
|
||||||
// 处理不可操作的信息
|
// 处理不可操作的信息
|
||||||
var checkedStatusFn = function (d) {
|
var checkedStatusFn = function (d) {
|
||||||
if (!d[table.config.disabledName]) { // 节点不可操作的不处理
|
if (!d[table.config.disabledName]) { // 节点不可操作的不处理
|
||||||
|
@ -1350,7 +1363,7 @@ layui.define(['table'], function (exports) {
|
||||||
form.render(tableView.find(trs.map(function (value) {
|
form.render(tableView.find(trs.map(function (value) {
|
||||||
return 'tr[lay-data-index="' + value[LAY_DATA_INDEX] + '"] input[name="layTableCheckbox"]:not(:disabled)';
|
return 'tr[lay-data-index="' + value[LAY_DATA_INDEX] + '"] input[name="layTableCheckbox"]:not(:disabled)';
|
||||||
}).join(',')).prop({checked: checked, indeterminate: false}));
|
}).join(',')).prop({checked: checked, indeterminate: false}));
|
||||||
}
|
// }
|
||||||
var trDataP;
|
var trDataP;
|
||||||
// 更新父节点以及更上层节点的状态
|
// 更新父节点以及更上层节点的状态
|
||||||
if (trData && trData[LAY_PARENT_INDEX]) {
|
if (trData && trData[LAY_PARENT_INDEX]) {
|
||||||
|
@ -1383,7 +1396,7 @@ layui.define(['table'], function (exports) {
|
||||||
* @param {String} id 树表id
|
* @param {String} id 树表id
|
||||||
* @param {Object|String} node 节点
|
* @param {Object|String} node 节点
|
||||||
* @param {Boolean} checked 选中或取消
|
* @param {Boolean} checked 选中或取消
|
||||||
* @param {Boolean} callbackFlag 是否触发事件回调
|
* @param {Boolean} [callbackFlag] 是否触发事件回调
|
||||||
* */
|
* */
|
||||||
treeTable.checkNode = function (id, node, checked, callbackFlag) {
|
treeTable.checkNode = function (id, node, checked, callbackFlag) {
|
||||||
var that = getThisTable(id);
|
var that = getThisTable(id);
|
||||||
|
|
Loading…
Reference in New Issue