test tree 不选择父选择框
This commit is contained in:
parent
56769f4152
commit
eb3f2e831c
@ -73,14 +73,8 @@ const _sfc_main$1 = defineComponent({
|
|||||||
}
|
}
|
||||||
const isChildAllSelected = computed(() => {
|
const isChildAllSelected = computed(() => {
|
||||||
function _isChildAllSelected(node) {
|
function _isChildAllSelected(node) {
|
||||||
if (!props.showCheckbox) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
let childSelectNum = 0;
|
let childSelectNum = 0;
|
||||||
let res = false;
|
let res = false;
|
||||||
if (!props.selectParent) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
for (const item of node.children) {
|
for (const item of node.children) {
|
||||||
if (item.isChecked)
|
if (item.isChecked)
|
||||||
childSelectNum++;
|
childSelectNum++;
|
||||||
@ -239,6 +233,7 @@ 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, {
|
||||||
@ -251,7 +246,8 @@ 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);
|
||||||
@ -307,6 +303,9 @@ class Tree {
|
|||||||
}
|
}
|
||||||
setCheckedKeys(checked, checkStrictly, node) {
|
setCheckedKeys(checked, checkStrictly, node) {
|
||||||
node.isChecked = checked;
|
node.isChecked = checked;
|
||||||
|
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);
|
||||||
|
13
lib/index.js
13
lib/index.js
@ -17670,14 +17670,8 @@ const _sfc_main$K = defineComponent({
|
|||||||
}
|
}
|
||||||
const isChildAllSelected = computed$1(() => {
|
const isChildAllSelected = computed$1(() => {
|
||||||
function _isChildAllSelected(node) {
|
function _isChildAllSelected(node) {
|
||||||
if (!props.showCheckbox) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
let childSelectNum = 0;
|
let childSelectNum = 0;
|
||||||
let res = false;
|
let res = false;
|
||||||
if (!props.selectParent) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
for (const item of node.children) {
|
for (const item of node.children) {
|
||||||
if (item.isChecked)
|
if (item.isChecked)
|
||||||
childSelectNum++;
|
childSelectNum++;
|
||||||
@ -17836,6 +17830,7 @@ 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, {
|
||||||
@ -17848,7 +17843,8 @@ 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);
|
||||||
@ -17904,6 +17900,9 @@ class Tree {
|
|||||||
}
|
}
|
||||||
setCheckedKeys(checked, checkStrictly, node) {
|
setCheckedKeys(checked, checkStrictly, node) {
|
||||||
node.isChecked = checked;
|
node.isChecked = checked;
|
||||||
|
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);
|
||||||
|
@ -24,6 +24,7 @@ export interface TreeData {
|
|||||||
isLeaf: boolean;
|
isLeaf: boolean;
|
||||||
hasNextSibling: boolean;
|
hasNextSibling: boolean;
|
||||||
parentNode: Nullable<TreeData>;
|
parentNode: Nullable<TreeData>;
|
||||||
|
selectParent:boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface TreeNodeProps {
|
export interface TreeNodeProps {
|
||||||
@ -107,16 +108,8 @@ function handleRowClick(node: TreeData) {
|
|||||||
//判断是否半选
|
//判断是否半选
|
||||||
const isChildAllSelected = computed(() => {
|
const isChildAllSelected = computed(() => {
|
||||||
function _isChildAllSelected(node: TreeData): boolean {
|
function _isChildAllSelected(node: TreeData): boolean {
|
||||||
if (!props.showCheckbox) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
let childSelectNum = 0;
|
let childSelectNum = 0;
|
||||||
let res = false; // true为半选 false为全选
|
let res = false; // true为半选 false为全选
|
||||||
|
|
||||||
if(!props.selectParent){
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const item of node.children) {
|
for (const item of node.children) {
|
||||||
if (item.isChecked) childSelectNum++;
|
if (item.isChecked) childSelectNum++;
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ export interface TreeData {
|
|||||||
isLeaf: boolean;
|
isLeaf: boolean;
|
||||||
hasNextSibling: boolean;
|
hasNextSibling: boolean;
|
||||||
parentNode: Nullable<TreeData>;
|
parentNode: Nullable<TreeData>;
|
||||||
|
selectParent:boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ReplaceFields {
|
interface ReplaceFields {
|
||||||
@ -99,6 +100,7 @@ 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);
|
||||||
|
|
||||||
@ -113,6 +115,7 @@ class Tree {
|
|||||||
isLeaf: false,
|
isLeaf: false,
|
||||||
hasNextSibling: hasNextSibling,
|
hasNextSibling: hasNextSibling,
|
||||||
parentNode: parentNode || null,
|
parentNode: parentNode || null,
|
||||||
|
selectParent: selectParent
|
||||||
});
|
});
|
||||||
|
|
||||||
node.isDisabled = nodeDisabled;
|
node.isDisabled = nodeDisabled;
|
||||||
@ -183,6 +186,9 @@ class Tree {
|
|||||||
node: TreeData
|
node: TreeData
|
||||||
) {
|
) {
|
||||||
node.isChecked = checked;
|
node.isChecked = checked;
|
||||||
|
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);
|
||||||
|
3
types/component/tree/tree.d.ts
vendored
3
types/component/tree/tree.d.ts
vendored
@ -13,6 +13,7 @@ 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;
|
||||||
@ -38,7 +39,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): void;
|
setCheckedKeys(checked: boolean, checkStrictly: boolean | string, node: TreeData): false | undefined;
|
||||||
getData(): TreeData[];
|
getData(): TreeData[];
|
||||||
getKeys(): {
|
getKeys(): {
|
||||||
checkedKeys: any[];
|
checkedKeys: any[];
|
||||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user