mirror of
https://gitee.com/bootx/dax-pay-ui.git
synced 2025-09-04 11:26:03 +00:00
fix(tree): fix checkAll
effects disabled
node
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
- **ImgRotateDragVerify** 修复组件`resume`方法无法调用的问题
|
||||
- **TableAction** 修复 stopButtonPropagation 属性某些情况下不起作用的问题
|
||||
- **PageWrapper** 修复`class`属性无效的问题
|
||||
- **BasicTree** 修复`checkAll`方法会影响到`disabled`状态节点的问题
|
||||
- **BasicTable**
|
||||
- 修复可编辑单元格不支持`ellipsis`配置的问题
|
||||
- 修复全屏模式下看不到子组件弹出层(popconfirm 以及 select、treeSelect 等编辑组件)的问题
|
||||
|
@@ -127,6 +127,7 @@
|
||||
updateNodeByKey,
|
||||
getAllKeys,
|
||||
getChildrenKeys,
|
||||
getEnabledKeys,
|
||||
} = useTree(treeDataRef, getReplaceFields);
|
||||
|
||||
function getIcon(params: Recordable, icon?: string) {
|
||||
@@ -180,7 +181,7 @@
|
||||
}
|
||||
|
||||
function checkAll(checkAll: boolean) {
|
||||
state.checkedKeys = checkAll ? getAllKeys() : ([] as Keys);
|
||||
state.checkedKeys = checkAll ? getEnabledKeys() : ([] as Keys);
|
||||
}
|
||||
|
||||
function expandAll(expandAll: boolean) {
|
||||
|
@@ -26,6 +26,23 @@ export function useTree(
|
||||
}
|
||||
return keys as Keys;
|
||||
}
|
||||
// get keys that can be checked and selected
|
||||
function getEnabledKeys(list?: TreeDataItem[]) {
|
||||
const keys: string[] = [];
|
||||
const treeData = list || unref(treeDataRef);
|
||||
const { key: keyField, children: childrenField } = unref(getReplaceFields);
|
||||
if (!childrenField || !keyField) return keys;
|
||||
|
||||
for (let index = 0; index < treeData.length; index++) {
|
||||
const node = treeData[index];
|
||||
node.disabled !== true && node.selectable !== false && keys.push(node[keyField]!);
|
||||
const children = node[childrenField];
|
||||
if (children && children.length) {
|
||||
keys.push(...(getEnabledKeys(children) as string[]));
|
||||
}
|
||||
}
|
||||
return keys as Keys;
|
||||
}
|
||||
|
||||
function getChildrenKeys(nodeKey: string | number, list?: TreeDataItem[]): Keys {
|
||||
const keys: Keys = [];
|
||||
@@ -169,5 +186,6 @@ export function useTree(
|
||||
updateNodeByKey,
|
||||
getAllKeys,
|
||||
getChildrenKeys,
|
||||
getEnabledKeys,
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user