test tree

This commit is contained in:
Theluyuan 2023-05-15 09:51:49 +08:00
parent 5400ed7cdc
commit 4b56b2b09c
6 changed files with 69 additions and 86 deletions

View File

@ -53,7 +53,7 @@ const _sfc_main$1 = defineComponent({
emit("node-click", node); emit("node-click", node);
} }
function handleChange(checked, node) { function handleChange(checked, node) {
props.tree.setCheckedKeys(checked, props.checkStrictly, node); props.tree.setCheckedKeys(checked, props.checkStrictly && props.selectParent, node);
} }
function handleIconClick(node) { function handleIconClick(node) {
node.isLeaf = !node.isLeaf; node.isLeaf = !node.isLeaf;
@ -234,7 +234,6 @@ class Tree {
const nodeTitle = Reflect.get(origin, title); const nodeTitle = Reflect.get(origin, title);
const nodeChildren = Reflect.get(origin, children); const nodeChildren = Reflect.get(origin, children);
const nodeDisabled = !!Reflect.get(origin, "disabled"); const nodeDisabled = !!Reflect.get(origin, "disabled");
const selectParent = !!Reflect.get(origin, "selectParent");
const nodeIsLeaf = !!Reflect.get(origin, "spread"); const nodeIsLeaf = !!Reflect.get(origin, "spread");
const parentNode = nodeMap.get(parentKey); const parentNode = nodeMap.get(parentKey);
const node = Object.assign({}, origin, { const node = Object.assign({}, origin, {
@ -247,8 +246,7 @@ class Tree {
isChecked: false, isChecked: false,
isLeaf: false, isLeaf: false,
hasNextSibling, hasNextSibling,
parentNode: parentNode || null, parentNode: parentNode || null
selectParent
}); });
node.isDisabled = nodeDisabled; node.isDisabled = nodeDisabled;
node.isChecked = checkedKeys.includes(nodeKey); node.isChecked = checkedKeys.includes(nodeKey);
@ -305,9 +303,6 @@ class Tree {
setCheckedKeys(checked, checkStrictly, node) { setCheckedKeys(checked, checkStrictly, node) {
node.isChecked = checked; node.isChecked = checked;
console.log(node); console.log(node);
if (node.selectParent) {
return false;
}
if (!checkStrictly) { if (!checkStrictly) {
if (node.parentNode) { if (node.parentNode) {
this.setParentChecked(checked, node.parentNode); this.setParentChecked(checked, node.parentNode);

View File

@ -17650,7 +17650,7 @@ const _sfc_main$K = defineComponent({
emit("node-click", node); emit("node-click", node);
} }
function handleChange(checked, node) { function handleChange(checked, node) {
props.tree.setCheckedKeys(checked, props.checkStrictly, node); props.tree.setCheckedKeys(checked, props.checkStrictly && props.selectParent, node);
} }
function handleIconClick(node) { function handleIconClick(node) {
node.isLeaf = !node.isLeaf; node.isLeaf = !node.isLeaf;
@ -17831,7 +17831,6 @@ class Tree {
const nodeTitle = Reflect.get(origin, title); const nodeTitle = Reflect.get(origin, title);
const nodeChildren = Reflect.get(origin, children); const nodeChildren = Reflect.get(origin, children);
const nodeDisabled = !!Reflect.get(origin, "disabled"); const nodeDisabled = !!Reflect.get(origin, "disabled");
const selectParent = !!Reflect.get(origin, "selectParent");
const nodeIsLeaf = !!Reflect.get(origin, "spread"); const nodeIsLeaf = !!Reflect.get(origin, "spread");
const parentNode = nodeMap.get(parentKey); const parentNode = nodeMap.get(parentKey);
const node = Object.assign({}, origin, { const node = Object.assign({}, origin, {
@ -17844,8 +17843,7 @@ class Tree {
isChecked: false, isChecked: false,
isLeaf: false, isLeaf: false,
hasNextSibling, hasNextSibling,
parentNode: parentNode || null, parentNode: parentNode || null
selectParent
}); });
node.isDisabled = nodeDisabled; node.isDisabled = nodeDisabled;
node.isChecked = checkedKeys.includes(nodeKey); node.isChecked = checkedKeys.includes(nodeKey);
@ -17902,9 +17900,6 @@ class Tree {
setCheckedKeys(checked, checkStrictly, node) { setCheckedKeys(checked, checkStrictly, node) {
node.isChecked = checked; node.isChecked = checked;
console.log(node); console.log(node);
if (node.selectParent) {
return false;
}
if (!checkStrictly) { if (!checkStrictly) {
if (node.parentNode) { if (node.parentNode) {
this.setParentChecked(checked, node.parentNode); this.setParentChecked(checked, node.parentNode);

View File

@ -83,7 +83,7 @@ function recursiveNodeClick(node: TreeData) {
} }
function handleChange(checked: boolean, node: TreeData) { function handleChange(checked: boolean, node: TreeData) {
props.tree.setCheckedKeys(checked, props.checkStrictly, node); props.tree.setCheckedKeys(checked, props.checkStrictly && props.selectParent, node);
} }
function handleIconClick(node: TreeData) { function handleIconClick(node: TreeData) {

View File

@ -17,7 +17,6 @@ export interface TreeData {
isLeaf: boolean; isLeaf: boolean;
hasNextSibling: boolean; hasNextSibling: boolean;
parentNode: Nullable<TreeData>; parentNode: Nullable<TreeData>;
selectParent:boolean;
} }
interface ReplaceFields { interface ReplaceFields {
@ -100,7 +99,6 @@ class Tree {
const nodeTitle = Reflect.get(origin, title); const nodeTitle = Reflect.get(origin, title);
const nodeChildren = Reflect.get(origin, children); const nodeChildren = Reflect.get(origin, children);
const nodeDisabled = !!Reflect.get(origin, "disabled"); const nodeDisabled = !!Reflect.get(origin, "disabled");
const selectParent = !!Reflect.get(origin, "selectParent");
const nodeIsLeaf = !!Reflect.get(origin, "spread"); const nodeIsLeaf = !!Reflect.get(origin, "spread");
const parentNode = nodeMap.get(parentKey); const parentNode = nodeMap.get(parentKey);
@ -114,8 +112,7 @@ class Tree {
isChecked: false, isChecked: false,
isLeaf: false, isLeaf: false,
hasNextSibling: hasNextSibling, hasNextSibling: hasNextSibling,
parentNode: parentNode || null, parentNode: parentNode || null
selectParent: selectParent
}); });
node.isDisabled = nodeDisabled; node.isDisabled = nodeDisabled;
@ -187,9 +184,6 @@ class Tree {
) { ) {
node.isChecked = checked; node.isChecked = checked;
console.log(node) console.log(node)
if (node.selectParent) {
return false;
}
if (!checkStrictly) { if (!checkStrictly) {
if (node.parentNode) { if (node.parentNode) {
this.setParentChecked(checked, node.parentNode); this.setParentChecked(checked, node.parentNode);

View File

@ -13,7 +13,6 @@ export interface TreeData {
isLeaf: boolean; isLeaf: boolean;
hasNextSibling: boolean; hasNextSibling: boolean;
parentNode: Nullable<TreeData>; parentNode: Nullable<TreeData>;
selectParent: boolean;
} }
interface ReplaceFields { interface ReplaceFields {
id: string; id: string;
@ -39,7 +38,7 @@ declare class Tree {
treeForeach(tree: any, func: Function): void; treeForeach(tree: any, func: Function): void;
setChildrenChecked(checked: boolean, nodes: TreeData[]): void; setChildrenChecked(checked: boolean, nodes: TreeData[]): void;
setParentChecked(checked: boolean, parent: TreeData): void; setParentChecked(checked: boolean, parent: TreeData): void;
setCheckedKeys(checked: boolean, checkStrictly: boolean | string, node: TreeData): false | undefined; setCheckedKeys(checked: boolean, checkStrictly: boolean | string, node: TreeData): void;
getData(): TreeData[]; getData(): TreeData[];
getKeys(): { getKeys(): {
checkedKeys: any[]; checkedKeys: any[];

File diff suppressed because one or more lines are too long