@touchvue/ui 1.0.0-beta.21 → 1.0.0-beta.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -93,6 +93,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
93
93
  () => selectValues.value,
94
94
  (newVal) => {
95
95
  if (selectValues.value.length === 0) {
96
+ if (valueType.value === "string") {
97
+ emit("update:modelValue", "");
98
+ } else if (valueType.value === "object" && Array.isArray(props.modelValue)) {
99
+ emit("update:modelValue", []);
100
+ }
96
101
  return;
97
102
  }
98
103
  if (valueType.value === "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"tree.vue2.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTree'\n});\n</script>\n<template>\n\t<div class=\"to-tree\" :class=\"setClass\">\n\t\t<template v-if=\"filterStore.length\">\n\t\t\t<to-tree-item v-for=\"item in filterStore\" :key=\"item[props.valueText]\" :node=\"item\" :item-props=\"props\">\n\t\t\t\t<template #default=\"scope\">\n\t\t\t\t\t<slot :item=\"scope.node\"></slot>\n\t\t\t\t</template>\n\t\t\t</to-tree-item>\n\t\t</template>\n\t\t<div v-else class=\"to-tree-empty\">\n\t\t\t{{ emptyText }}\n\t\t</div>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { Ref, computed, provide, ref, watch } from 'vue'\nimport ToTreeItem from './tree-item.vue'\nimport { deepClone } from '@touchvue/utils'\n\n\n\nexport type TreeKeys = string | number\n\nexport interface Node {\n\tlabel: string\n\tvalue: string\n\ticon?: string\n\tchildren?: Node[]\n\tisLeaf?: boolean\n\tisExpand?: boolean\n\tchecked?: boolean\n\tisSelect?: boolean\n\tloading?: boolean\n\tisLoad?: boolean\n\t[key: string]: any\n}\n\nexport interface Props {\n\tmode?: string\n\texpand?: boolean\n\tdata: Node[]\n\tmodelValue?: Node[] | string\n\ttoggleLink?: false\n\tcheckLink?: false\n\tcheckable?: false\n\tselectable?: false\n\tcheckStrictly?: false\n\taccordion?: false\n\tchildrenText?: string\n\tvalueText?: string\n\tlabelText?: string\n\temptyText?: string\n\tload?: (node: any) => any | null\n\tparentSelectable?: boolean\n\tfilterNodeMethod?: (key, node) => any | null\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\texpand: false, //默认是否全部展开\n\tdata: () => [],\n\ttoggleLink: false, //是否可点击节点展开收缩\n\tcheckLink: false, //是否可点击节点选中\n\tselectable: false, //节点是否可被选择\n\tcheckable: false, //是否显示节点复选框\n\tcheckStrictly: false, //父子是否强关联\n\taccordion: false, //是否每次只打开一个同级树节点\n\tchildrenText: 'children',\n\tvalueText: 'value',\n\tlabelText: 'label',\n\tmodelValue: '',\n\temptyText: '暂无数据',\n\tload: null,\n\tparentSelectable: false,\n\tfilterNodeMethod: null\n})\n\nconst stopChange = ref(false)\n\nconst valueType = computed(() => {\n\treturn typeof props.modelValue\n})\nconst store = ref(initData(props.data, 0))\n\nconst selectValues = computed(() => {\n\tlet values = []\n\tif (props.checkable) {\n\t\tvalues = getCheckValues(store.value)\n\t}\n\tif (props.selectable) {\n\t\tvalues = getCurrentNode(store.value)\n\t}\n\treturn values\n})\n\nconst setClass = computed(() => {\n\tlet arr = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\treturn arr\n})\n\nwatch(\n\t() => store.value,\n\tnewVal => {\n\t\tif (!props.checkStrictly) {\n\t\t\tsetParentCheck(newVal)\n\t\t}\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.data,\n\tnewVal => {\n\t\tstore.value = initData(newVal, 0)\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.modelValue,\n\tnewVal => {\n\t\tif (stopChange.value) {\n\t\t\treturn\n\t\t}\n\t\tif (newVal) {\n\t\t\tinitCheckValues(newVal)\n\t\t} else {\n\t\t\tif (props.checkable) {\n\t\t\t\tsetCheckByValues(store.value, [])\n\t\t\t}\n\t\t\tif (props.selectable) {\n\t\t\t\tsetCurrentNode(store.value, '')\n\t\t\t}\n\t\t\tif (!props.expand) {\n\t\t\t\tsetExpandByKeys(store.value, [])\n\t\t\t}\n\t\t}\n\t},\n\t{ immediate: true, deep: true }\n)\nwatch(\n\t() => selectValues.value,\n\tnewVal => {\n\t\tif (selectValues.value.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tif (valueType.value === 'string') {\n\t\t\temit('update:modelValue', newVal.join(','))\n\t\t} else if (valueType.value === 'object' && Array.isArray(props.modelValue)) {\n\t\t\temit('update:modelValue', newVal)\n\t\t} else {\n\t\t\tconsole.warn('请设置正确的数据类型')\n\t\t}\n\t}\n)\nfunction initData(data: Node[], levelPlus: number): Node[] {\n\tlet tem = deepClone(data)\n\tlet arr = []\n\tlet level = levelPlus\n\ttem.forEach((item: Node) => {\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tarr.push({\n\t\t\t\t...item,\n\t\t\t\tisLeaf: false,\n\t\t\t\tisExpand: props.expand,\n\t\t\t\tchecked: false,\n\t\t\t\tlevel,\n\t\t\t\tisSelect: false,\n\t\t\t\tloading: false,\n\t\t\t\tisNeedLoad: !!props.load,\n\t\t\t\t[props.childrenText]: initData(item[props.childrenText], level + 1)\n\t\t\t})\n\t\t} else {\n\t\t\tarr.push({\n\t\t\t\t...item,\n\t\t\t\tlevel,\n\t\t\t\tisLeaf: true,\n\t\t\t\tchecked: false,\n\t\t\t\tisSelect: false,\n\t\t\t\tloading: false,\n\t\t\t\tisNeedLoad: !!props.load,\n\t\t\t\tisExpand: props.expand\n\t\t\t})\n\t\t}\n\t})\n\treturn arr\n}\n\nfunction initCheckValues(newVal) {\n\tlet checkValues = []\n\tif (typeof newVal === 'string') {\n\t\tcheckValues = newVal.split(',')\n\t} else if (Array.isArray(newVal)) {\n\t\tcheckValues = newVal\n\t}\n\tif (checkValues.length) {\n\t\tif (props.checkable) {\n\t\t\tsetCheckByValues(store.value, checkValues)\n\t\t}\n\t\tlet arr = []\n\t\tcheckValues.forEach(value => {\n\t\t\tif (props.selectable) {\n\t\t\t\tsetCurrentNode(store.value, value)\n\t\t\t}\n\t\t\tif (props.expand) return false\n\t\t\tlet tem = getParentByValue(store.value, value)\n\t\t\tlet values = tem.map(item => item[props.valueText])\n\t\t\tarr = [...arr, ...values]\n\t\t\tlet expandValues = Array.from(new Set(arr))\n\t\t\tsetExpandByValues(store.value, expandValues)\n\t\t})\n\t}\n}\n\nfunction setCheckByValues(arr, values) {\n\tfor (const item of arr) {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.checked = true\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\tif (!props.checkStrictly) {\n\t\t\t\t\tsetCheckByParentAndChild(arr, item[props.valueText], true)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\titem.checked = false\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\t// 递归查找子节点\n\t\t\t\tsetCheckByValues(item[props.childrenText], values)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction setExpandByValues(arr, values) {\n\tfor (const item of arr) {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.isExpand = true\n\t\t} else {\n\t\t\titem.isExpand = false\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t// 递归查找子节点\n\t\t\tsetExpandByValues(item[props.childrenText], values)\n\t\t}\n\t}\n}\n\nfunction setPropertyByValue(value: string, setValue: boolean, prop: string) {\n\tfindNodeByValue(store.value, value, prop, setValue)\n}\n\nfunction findNodeByValue(arr: Node[], value: string, prop: string, setValue) {\n\tfor (const item of arr) {\n\t\tif (item[props.valueText] === value) {\n\t\t\tif (props.accordion && prop === 'isExpand') {\n\t\t\t\tarr.forEach(node => {\n\t\t\t\t\tnode[prop] = false\n\t\t\t\t})\n\t\t\t}\n\t\t\titem[prop] = setValue\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t// 递归查找子节点\n\t\t\tfindNodeByValue(item[props.childrenText], value, prop, setValue)\n\t\t}\n\t}\n}\n\nfunction setCheckByParentAndChild(arr, value, setValue) {\n\tarr.forEach(item => {\n\t\tif (item[props.valueText] === value) {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tsetChildCheck(item[props.childrenText], setValue)\n\t\t\t}\n\t\t} else {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\tsetCheckByParentAndChild(item[props.childrenText], value, setValue)\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunction setChildCheck(arr, setValue) {\n\tarr.forEach(item => {\n\t\titem.checked = setValue\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tsetChildCheck(item[props.childrenText], setValue)\n\t\t}\n\t})\n}\n\nfunction setParentCheck(arr) {\n\tarr.forEach(item => {\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tlet tem = item[props.childrenText].filter(k => !k.checked)\n\t\t\tif (tem.length) {\n\t\t\t\titem.checked = false\n\t\t\t} else {\n\t\t\t\titem.checked = true\n\t\t\t}\n\t\t\tsetParentCheck(item[props.childrenText])\n\t\t}\n\t})\n}\n\nfunction getCheckValues(arr, newTem = []) {\n\tlet tem = newTem\n\tarr.forEach(item => {\n\t\tif (item.checked) {\n\t\t\ttem.push(item[props.valueText])\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tgetCheckValues(item[props.childrenText], tem)\n\t\t}\n\t})\n\treturn tem\n}\n\nfunction getCurrentNode(arr, newTem = []) {\n\tlet tem = newTem\n\tarr.forEach(item => {\n\t\tif (item.isSelect) {\n\t\t\ttem.push(item[props.valueText])\n\t\t} else {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tgetCurrentNode(item[props.childrenText], tem)\n\t\t\t}\n\t\t}\n\t})\n\treturn tem\n}\n\nfunction setCurrentNode(arr, value) {\n\tarr.forEach(item => {\n\t\tif (item[props.valueText] === value) {\n\t\t\titem.isSelect = true\n\t\t} else {\n\t\t\titem.isSelect = false\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tsetCurrentNode(item[props.childrenText], value)\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunction setExpandByKeys(arr, values) {\n\tarr.forEach(item => {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.isExpand = true\n\t\t} else {\n\t\t\titem.isExpand = false\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tsetExpandByKeys(item[props.childrenText], values)\n\t\t}\n\t})\n}\n\nfunction getParentByValue(arr, value) {\n\tlet parentValues = []\n\tfunction find(node, curParent) {\n\t\tif (node[props.valueText] === value) {\n\t\t\tparentValues.push(...curParent)\n\t\t\treturn true\n\t\t} else {\n\t\t\tif (node[props.childrenText] && node[props.childrenText].length) {\n\t\t\t\tlet newParent = [...curParent, node]\n\t\t\t\tnode[props.childrenText].forEach(item => {\n\t\t\t\t\tif (find(item, newParent)) {\n\t\t\t\t\t\treturn true\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\tfor (const root of arr) {\n\t\tif (find(root, [])) {\n\t\t\tbreak // 找到后终止遍历\n\t\t}\n\t}\n\treturn parentValues\n}\n\nfunction setChildren(node: Node, children: Node[], needReset = false) {\n\tfunction find(arr) {\n\t\tarr.forEach(item => {\n\t\t\tif (item[props.valueText] === node[props.valueText]) {\n\t\t\t\titem[props.childrenText] = formatChildren(children, node.level)\n\t\t\t\titem.isExpand = true\n\t\t\t\titem.isLeaf = !(children && children.length)\n\t\t\t\titem.isNeedLoad = needReset\n\t\t\t} else {\n\t\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\t\tfind(item[props.childrenText])\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\tfind(store.value)\n}\n\nfunction formatChildren(children: Node[], level) {\n\treturn children.map(item => {\n\t\treturn {\n\t\t\tisLeaf: false,\n\t\t\tisExpand: false,\n\t\t\tchecked: false,\n\t\t\tisSelect: false,\n\t\t\t...item,\n\t\t\tloading: false,\n\t\t\tisNeedLoad: item.isLeaf !== undefined ? !item.isLeaf : true,\n\t\t\tlevel: level + 1,\n\t\t\t[props.childrenText]: []\n\t\t}\n\t})\n}\n\nconst filterStore = computed(() => {\n\tif (!filterText.value) {\n\t\treturn store.value\n\t}\n\treturn filterNodes(store.value, filterText.value)\n})\n\nfunction filterNodes(nodes: Node[], keyword: string): Node[] {\n\treturn nodes.reduce<Node[]>((result, node) => {\n\t\t// 检查当前节点是否匹配\n\t\tconst isMatch = props.filterNodeMethod ? props.filterNodeMethod(keyword, node) : node[props.labelText].includes(keyword)\n\n\t\t// 如果当前节点匹配\n\t\tif (isMatch) {\n\t\t\tresult.push(node)\n\t\t\treturn result\n\t\t}\n\n\t\t// 如果当前节点不匹配,检查子节点\n\t\tif (node[props.childrenText] && node[props.childrenText].length) {\n\t\t\t// 递归过滤子节点\n\t\t\tconst filteredChildren = filterNodes(node[props.childrenText], keyword)\n\n\t\t\t// 如果有匹配的子节点\n\t\t\tif (filteredChildren.length) {\n\t\t\t\t// 创建新节点对象,只包含匹配的子节点\n\t\t\t\tconst newNode = { ...node, [props.childrenText]: filteredChildren }\n\t\t\t\tresult.push(newNode)\n\t\t\t}\n\t\t}\n\n\t\treturn result\n\t}, [])\n}\n\nconst filterText = ref('')\nfunction filter(val) {\n\tfilterText.value = val\n}\n\nfunction itemClick(node: Node) {\n\temit('item-click', node)\n}\n\nfunction change(value, item) {\n\temit('change', value, item)\n}\n\nfunction setStopChange(val) {\n\tstopChange.value = val\n}\n\nexport interface ProvideType {\n\tsetPropertyByValue: (value: string, setValue: boolean, prop: string) => void\n\titemClick: (node: any) => void\n\tsetCheckByParentAndChild: (arr: Node[], value: string, setVale: boolean) => void\n\tstore: Ref<Node[]>\n\tchange: (value, item: Node) => void\n\tsetStopChange: (value: boolean) => void\n\tsetChildren: (node: Node, children: Node[], needReset?: boolean) => void\n\tsetParentCheck: (arr: Node[]) => void\n}\n\nprovide<ProvideType>('RootTree', {\n\tsetStopChange,\n\tsetPropertyByValue,\n\titemClick,\n\tsetCheckByParentAndChild,\n\tstore: store,\n\tchange,\n\tsetChildren,\n\tsetParentCheck\n})\n\nconst emit = defineEmits(['item-click', 'change', 'update:modelValue'])\ndefineExpose({\n\tfilter\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createBlock","ToTreeItem","_withCtx","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"tree.vue2.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTree'\n});\n</script>\n<template>\n\t<div class=\"to-tree\" :class=\"setClass\">\n\t\t<template v-if=\"filterStore.length\">\n\t\t\t<to-tree-item v-for=\"item in filterStore\" :key=\"item[props.valueText]\" :node=\"item\" :item-props=\"props\">\n\t\t\t\t<template #default=\"scope\">\n\t\t\t\t\t<slot :item=\"scope.node\"></slot>\n\t\t\t\t</template>\n\t\t\t</to-tree-item>\n\t\t</template>\n\t\t<div v-else class=\"to-tree-empty\">\n\t\t\t{{ emptyText }}\n\t\t</div>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { Ref, computed, provide, ref, watch } from 'vue'\nimport ToTreeItem from './tree-item.vue'\nimport { deepClone } from '@touchvue/utils'\n\n\n\nexport type TreeKeys = string | number\n\nexport interface Node {\n\tlabel: string\n\tvalue: string\n\ticon?: string\n\tchildren?: Node[]\n\tisLeaf?: boolean\n\tisExpand?: boolean\n\tchecked?: boolean\n\tisSelect?: boolean\n\tloading?: boolean\n\tisLoad?: boolean\n\t[key: string]: any\n}\n\nexport interface Props {\n\tmode?: string\n\texpand?: boolean\n\tdata: Node[]\n\tmodelValue?: Node[] | string\n\ttoggleLink?: false\n\tcheckLink?: false\n\tcheckable?: false\n\tselectable?: false\n\tcheckStrictly?: false\n\taccordion?: false\n\tchildrenText?: string\n\tvalueText?: string\n\tlabelText?: string\n\temptyText?: string\n\tload?: (node: any) => any | null\n\tparentSelectable?: boolean\n\tfilterNodeMethod?: (key, node) => any | null\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\texpand: false, //默认是否全部展开\n\tdata: () => [],\n\ttoggleLink: false, //是否可点击节点展开收缩\n\tcheckLink: false, //是否可点击节点选中\n\tselectable: false, //节点是否可被选择\n\tcheckable: false, //是否显示节点复选框\n\tcheckStrictly: false, //父子是否强关联\n\taccordion: false, //是否每次只打开一个同级树节点\n\tchildrenText: 'children',\n\tvalueText: 'value',\n\tlabelText: 'label',\n\tmodelValue: '',\n\temptyText: '暂无数据',\n\tload: null,\n\tparentSelectable: false,\n\tfilterNodeMethod: null\n})\n\nconst stopChange = ref(false)\n\nconst valueType = computed(() => {\n\treturn typeof props.modelValue\n})\nconst store = ref(initData(props.data, 0))\n\nconst selectValues = computed(() => {\n\tlet values = []\n\tif (props.checkable) {\n\t\tvalues = getCheckValues(store.value)\n\t}\n\tif (props.selectable) {\n\t\tvalues = getCurrentNode(store.value)\n\t}\n\treturn values\n})\n\nconst setClass = computed(() => {\n\tlet arr = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\treturn arr\n})\n\nwatch(\n\t() => store.value,\n\tnewVal => {\n\t\tif (!props.checkStrictly) {\n\t\t\tsetParentCheck(newVal)\n\t\t}\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.data,\n\tnewVal => {\n\t\tstore.value = initData(newVal, 0)\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.modelValue,\n\tnewVal => {\n\t\tif (stopChange.value) {\n\t\t\treturn\n\t\t}\n\t\tif (newVal) {\n\t\t\tinitCheckValues(newVal)\n\t\t} else {\n\t\t\tif (props.checkable) {\n\t\t\t\tsetCheckByValues(store.value, [])\n\t\t\t}\n\t\t\tif (props.selectable) {\n\t\t\t\tsetCurrentNode(store.value, '')\n\t\t\t}\n\t\t\tif (!props.expand) {\n\t\t\t\tsetExpandByKeys(store.value, [])\n\t\t\t}\n\t\t}\n\t},\n\t{ immediate: true, deep: true }\n)\nwatch(\n\t() => selectValues.value,\n\tnewVal => {\n\t\tif (selectValues.value.length === 0) {\n\t\t\tif (valueType.value === 'string') {\n\t\t\t\temit('update:modelValue', '')\n\t\t\t} else if (valueType.value === 'object' && Array.isArray(props.modelValue)) {\n\t\t\t\temit('update:modelValue', [])\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif (valueType.value === 'string') {\n\t\t\temit('update:modelValue', newVal.join(','))\n\t\t} else if (valueType.value === 'object' && Array.isArray(props.modelValue)) {\n\t\t\temit('update:modelValue', newVal)\n\t\t} else {\n\t\t\tconsole.warn('请设置正确的数据类型')\n\t\t}\n\t}\n)\nfunction initData(data: Node[], levelPlus: number): Node[] {\n\tlet tem = deepClone(data)\n\tlet arr = []\n\tlet level = levelPlus\n\ttem.forEach((item: Node) => {\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tarr.push({\n\t\t\t\t...item,\n\t\t\t\tisLeaf: false,\n\t\t\t\tisExpand: props.expand,\n\t\t\t\tchecked: false,\n\t\t\t\tlevel,\n\t\t\t\tisSelect: false,\n\t\t\t\tloading: false,\n\t\t\t\tisNeedLoad: !!props.load,\n\t\t\t\t[props.childrenText]: initData(item[props.childrenText], level + 1)\n\t\t\t})\n\t\t} else {\n\t\t\tarr.push({\n\t\t\t\t...item,\n\t\t\t\tlevel,\n\t\t\t\tisLeaf: true,\n\t\t\t\tchecked: false,\n\t\t\t\tisSelect: false,\n\t\t\t\tloading: false,\n\t\t\t\tisNeedLoad: !!props.load,\n\t\t\t\tisExpand: props.expand\n\t\t\t})\n\t\t}\n\t})\n\treturn arr\n}\n\nfunction initCheckValues(newVal) {\n\tlet checkValues = []\n\tif (typeof newVal === 'string') {\n\t\tcheckValues = newVal.split(',')\n\t} else if (Array.isArray(newVal)) {\n\t\tcheckValues = newVal\n\t}\n\tif (checkValues.length) {\n\t\tif (props.checkable) {\n\t\t\tsetCheckByValues(store.value, checkValues)\n\t\t}\n\t\tlet arr = []\n\t\tcheckValues.forEach(value => {\n\t\t\tif (props.selectable) {\n\t\t\t\tsetCurrentNode(store.value, value)\n\t\t\t}\n\t\t\tif (props.expand) return false\n\t\t\tlet tem = getParentByValue(store.value, value)\n\t\t\tlet values = tem.map(item => item[props.valueText])\n\t\t\tarr = [...arr, ...values]\n\t\t\tlet expandValues = Array.from(new Set(arr))\n\t\t\tsetExpandByValues(store.value, expandValues)\n\t\t})\n\t}\n}\n\nfunction setCheckByValues(arr, values) {\n\tfor (const item of arr) {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.checked = true\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\tif (!props.checkStrictly) {\n\t\t\t\t\tsetCheckByParentAndChild(arr, item[props.valueText], true)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\titem.checked = false\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\t// 递归查找子节点\n\t\t\t\tsetCheckByValues(item[props.childrenText], values)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction setExpandByValues(arr, values) {\n\tfor (const item of arr) {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.isExpand = true\n\t\t} else {\n\t\t\titem.isExpand = false\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t// 递归查找子节点\n\t\t\tsetExpandByValues(item[props.childrenText], values)\n\t\t}\n\t}\n}\n\nfunction setPropertyByValue(value: string, setValue: boolean, prop: string) {\n\tfindNodeByValue(store.value, value, prop, setValue)\n}\n\nfunction findNodeByValue(arr: Node[], value: string, prop: string, setValue) {\n\tfor (const item of arr) {\n\t\tif (item[props.valueText] === value) {\n\t\t\tif (props.accordion && prop === 'isExpand') {\n\t\t\t\tarr.forEach(node => {\n\t\t\t\t\tnode[prop] = false\n\t\t\t\t})\n\t\t\t}\n\t\t\titem[prop] = setValue\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t// 递归查找子节点\n\t\t\tfindNodeByValue(item[props.childrenText], value, prop, setValue)\n\t\t}\n\t}\n}\n\nfunction setCheckByParentAndChild(arr, value, setValue) {\n\tarr.forEach(item => {\n\t\tif (item[props.valueText] === value) {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tsetChildCheck(item[props.childrenText], setValue)\n\t\t\t}\n\t\t} else {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\tsetCheckByParentAndChild(item[props.childrenText], value, setValue)\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunction setChildCheck(arr, setValue) {\n\tarr.forEach(item => {\n\t\titem.checked = setValue\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tsetChildCheck(item[props.childrenText], setValue)\n\t\t}\n\t})\n}\n\nfunction setParentCheck(arr) {\n\tarr.forEach(item => {\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tlet tem = item[props.childrenText].filter(k => !k.checked)\n\t\t\tif (tem.length) {\n\t\t\t\titem.checked = false\n\t\t\t} else {\n\t\t\t\titem.checked = true\n\t\t\t}\n\t\t\tsetParentCheck(item[props.childrenText])\n\t\t}\n\t})\n}\n\nfunction getCheckValues(arr, newTem = []) {\n\tlet tem = newTem\n\tarr.forEach(item => {\n\t\tif (item.checked) {\n\t\t\ttem.push(item[props.valueText])\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tgetCheckValues(item[props.childrenText], tem)\n\t\t}\n\t})\n\treturn tem\n}\n\nfunction getCurrentNode(arr, newTem = []) {\n\tlet tem = newTem\n\tarr.forEach(item => {\n\t\tif (item.isSelect) {\n\t\t\ttem.push(item[props.valueText])\n\t\t} else {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tgetCurrentNode(item[props.childrenText], tem)\n\t\t\t}\n\t\t}\n\t})\n\treturn tem\n}\n\nfunction setCurrentNode(arr, value) {\n\tarr.forEach(item => {\n\t\tif (item[props.valueText] === value) {\n\t\t\titem.isSelect = true\n\t\t} else {\n\t\t\titem.isSelect = false\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tsetCurrentNode(item[props.childrenText], value)\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunction setExpandByKeys(arr, values) {\n\tarr.forEach(item => {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.isExpand = true\n\t\t} else {\n\t\t\titem.isExpand = false\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tsetExpandByKeys(item[props.childrenText], values)\n\t\t}\n\t})\n}\n\nfunction getParentByValue(arr, value) {\n\tlet parentValues = []\n\tfunction find(node, curParent) {\n\t\tif (node[props.valueText] === value) {\n\t\t\tparentValues.push(...curParent)\n\t\t\treturn true\n\t\t} else {\n\t\t\tif (node[props.childrenText] && node[props.childrenText].length) {\n\t\t\t\tlet newParent = [...curParent, node]\n\t\t\t\tnode[props.childrenText].forEach(item => {\n\t\t\t\t\tif (find(item, newParent)) {\n\t\t\t\t\t\treturn true\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\tfor (const root of arr) {\n\t\tif (find(root, [])) {\n\t\t\tbreak // 找到后终止遍历\n\t\t}\n\t}\n\treturn parentValues\n}\n\nfunction setChildren(node: Node, children: Node[], needReset = false) {\n\tfunction find(arr) {\n\t\tarr.forEach(item => {\n\t\t\tif (item[props.valueText] === node[props.valueText]) {\n\t\t\t\titem[props.childrenText] = formatChildren(children, node.level)\n\t\t\t\titem.isExpand = true\n\t\t\t\titem.isLeaf = !(children && children.length)\n\t\t\t\titem.isNeedLoad = needReset\n\t\t\t} else {\n\t\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\t\tfind(item[props.childrenText])\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\tfind(store.value)\n}\n\nfunction formatChildren(children: Node[], level) {\n\treturn children.map(item => {\n\t\treturn {\n\t\t\tisLeaf: false,\n\t\t\tisExpand: false,\n\t\t\tchecked: false,\n\t\t\tisSelect: false,\n\t\t\t...item,\n\t\t\tloading: false,\n\t\t\tisNeedLoad: item.isLeaf !== undefined ? !item.isLeaf : true,\n\t\t\tlevel: level + 1,\n\t\t\t[props.childrenText]: []\n\t\t}\n\t})\n}\n\nconst filterStore = computed(() => {\n\tif (!filterText.value) {\n\t\treturn store.value\n\t}\n\treturn filterNodes(store.value, filterText.value)\n})\n\nfunction filterNodes(nodes: Node[], keyword: string): Node[] {\n\treturn nodes.reduce<Node[]>((result, node) => {\n\t\t// 检查当前节点是否匹配\n\t\tconst isMatch = props.filterNodeMethod ? props.filterNodeMethod(keyword, node) : node[props.labelText].includes(keyword)\n\n\t\t// 如果当前节点匹配\n\t\tif (isMatch) {\n\t\t\tresult.push(node)\n\t\t\treturn result\n\t\t}\n\n\t\t// 如果当前节点不匹配,检查子节点\n\t\tif (node[props.childrenText] && node[props.childrenText].length) {\n\t\t\t// 递归过滤子节点\n\t\t\tconst filteredChildren = filterNodes(node[props.childrenText], keyword)\n\n\t\t\t// 如果有匹配的子节点\n\t\t\tif (filteredChildren.length) {\n\t\t\t\t// 创建新节点对象,只包含匹配的子节点\n\t\t\t\tconst newNode = { ...node, [props.childrenText]: filteredChildren }\n\t\t\t\tresult.push(newNode)\n\t\t\t}\n\t\t}\n\n\t\treturn result\n\t}, [])\n}\n\nconst filterText = ref('')\nfunction filter(val) {\n\tfilterText.value = val\n}\n\nfunction itemClick(node: Node) {\n\temit('item-click', node)\n}\n\nfunction change(value, item) {\n\temit('change', value, item)\n}\n\nfunction setStopChange(val) {\n\tstopChange.value = val\n}\n\nexport interface ProvideType {\n\tsetPropertyByValue: (value: string, setValue: boolean, prop: string) => void\n\titemClick: (node: any) => void\n\tsetCheckByParentAndChild: (arr: Node[], value: string, setVale: boolean) => void\n\tstore: Ref<Node[]>\n\tchange: (value, item: Node) => void\n\tsetStopChange: (value: boolean) => void\n\tsetChildren: (node: Node, children: Node[], needReset?: boolean) => void\n\tsetParentCheck: (arr: Node[]) => void\n}\n\nprovide<ProvideType>('RootTree', {\n\tsetStopChange,\n\tsetPropertyByValue,\n\titemClick,\n\tsetCheckByParentAndChild,\n\tstore: store,\n\tchange,\n\tsetChildren,\n\tsetParentCheck\n})\n\nconst emit = defineEmits(['item-click', 'change', 'update:modelValue'])\ndefineExpose({\n\tfilter\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createBlock","ToTreeItem","_withCtx","_renderSlot"],"mappings":";;;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,QAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;AA2DD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAoBd,IAAM,MAAA,UAAA,GAAa,IAAI,KAAK,CAAA,CAAA;AAE5B,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM;AAChC,MAAA,OAAO,OAAO,KAAM,CAAA,UAAA,CAAA;AAAA,KACpB,CAAA,CAAA;AACD,IAAA,MAAM,QAAQ,GAAI,CAAA,QAAA,CAAS,KAAM,CAAA,IAAA,EAAM,CAAC,CAAC,CAAA,CAAA;AAEzC,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AACnC,MAAA,IAAI,SAAS,EAAC,CAAA;AACd,MAAA,IAAI,MAAM,SAAW,EAAA;AACpB,QAAS,MAAA,GAAA,cAAA,CAAe,MAAM,KAAK,CAAA,CAAA;AAAA,OACpC;AACA,MAAA,IAAI,MAAM,UAAY,EAAA;AACrB,QAAS,MAAA,GAAA,cAAA,CAAe,MAAM,KAAK,CAAA,CAAA;AAAA,OACpC;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,IAAI,MAAM,EAAC,CAAA;AACX,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAI,GAAA,CAAA,IAAA,CAAK,CAAQ,KAAA,EAAA,KAAA,CAAM,IAAM,CAAA,CAAA,CAAA,CAAA;AAAA,OAC9B;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACT,QAAI,IAAA,CAAC,MAAM,aAAe,EAAA;AACzB,UAAA,cAAA,CAAe,MAAM,CAAA,CAAA;AAAA,SACtB;AAAA,OACD;AAAA,MACA,EAAE,MAAM,IAAK,EAAA;AAAA,KACd,CAAA;AAEA,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACT,QAAM,KAAA,CAAA,KAAA,GAAQ,QAAS,CAAA,MAAA,EAAQ,CAAC,CAAA,CAAA;AAAA,OACjC;AAAA,MACA,EAAE,MAAM,IAAK,EAAA;AAAA,KACd,CAAA;AAEA,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACT,QAAA,IAAI,WAAW,KAAO,EAAA;AACrB,UAAA,OAAA;AAAA,SACD;AACA,QAAA,IAAI,MAAQ,EAAA;AACX,UAAA,eAAA,CAAgB,MAAM,CAAA,CAAA;AAAA,SAChB,MAAA;AACN,UAAA,IAAI,MAAM,SAAW,EAAA;AACpB,YAAiB,gBAAA,CAAA,KAAA,CAAM,KAAO,EAAA,EAAE,CAAA,CAAA;AAAA,WACjC;AACA,UAAA,IAAI,MAAM,UAAY,EAAA;AACrB,YAAe,cAAA,CAAA,KAAA,CAAM,OAAO,EAAE,CAAA,CAAA;AAAA,WAC/B;AACA,UAAI,IAAA,CAAC,MAAM,MAAQ,EAAA;AAClB,YAAgB,eAAA,CAAA,KAAA,CAAM,KAAO,EAAA,EAAE,CAAA,CAAA;AAAA,WAChC;AAAA,SACD;AAAA,OACD;AAAA,MACA,EAAE,SAAA,EAAW,IAAM,EAAA,IAAA,EAAM,IAAK,EAAA;AAAA,KAC/B,CAAA;AACA,IAAA,KAAA;AAAA,MACC,MAAM,YAAa,CAAA,KAAA;AAAA,MACnB,CAAU,MAAA,KAAA;AACT,QAAI,IAAA,YAAA,CAAa,KAAM,CAAA,MAAA,KAAW,CAAG,EAAA;AACpC,UAAI,IAAA,SAAA,CAAU,UAAU,QAAU,EAAA;AACjC,YAAA,IAAA,CAAK,qBAAqB,EAAE,CAAA,CAAA;AAAA,WAC7B,MAAA,IAAW,UAAU,KAAU,KAAA,QAAA,IAAY,MAAM,OAAQ,CAAA,KAAA,CAAM,UAAU,CAAG,EAAA;AAC3E,YAAK,IAAA,CAAA,mBAAA,EAAqB,EAAE,CAAA,CAAA;AAAA,WAC7B;AACA,UAAA,OAAA;AAAA,SACD;AACA,QAAI,IAAA,SAAA,CAAU,UAAU,QAAU,EAAA;AACjC,UAAA,IAAA,CAAK,mBAAqB,EAAA,MAAA,CAAO,IAAK,CAAA,GAAG,CAAC,CAAA,CAAA;AAAA,SAC3C,MAAA,IAAW,UAAU,KAAU,KAAA,QAAA,IAAY,MAAM,OAAQ,CAAA,KAAA,CAAM,UAAU,CAAG,EAAA;AAC3E,UAAA,IAAA,CAAK,qBAAqB,MAAM,CAAA,CAAA;AAAA,SAC1B,MAAA;AACN,UAAA,OAAA,CAAQ,KAAK,8DAAY,CAAA,CAAA;AAAA,SAC1B;AAAA,OACD;AAAA,KACD,CAAA;AACA,IAAS,SAAA,QAAA,CAAS,MAAc,SAA2B,EAAA;AAC1D,MAAI,IAAA,GAAA,GAAM,UAAU,IAAI,CAAA,CAAA;AACxB,MAAA,IAAI,MAAM,EAAC,CAAA;AACX,MAAA,IAAI,KAAQ,GAAA,SAAA,CAAA;AACZ,MAAI,GAAA,CAAA,OAAA,CAAQ,CAAC,IAAe,KAAA;AAC3B,QAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,EAAE,MAAQ,EAAA;AAChE,UAAA,GAAA,CAAI,IAAK,CAAA;AAAA,YACR,GAAG,IAAA;AAAA,YACH,MAAQ,EAAA,KAAA;AAAA,YACR,UAAU,KAAM,CAAA,MAAA;AAAA,YAChB,OAAS,EAAA,KAAA;AAAA,YACT,KAAA;AAAA,YACA,QAAU,EAAA,KAAA;AAAA,YACV,OAAS,EAAA,KAAA;AAAA,YACT,UAAA,EAAY,CAAC,CAAC,KAAM,CAAA,IAAA;AAAA,YACpB,CAAC,KAAM,CAAA,YAAY,GAAG,QAAA,CAAS,KAAK,KAAM,CAAA,YAAY,CAAG,EAAA,KAAA,GAAQ,CAAC,CAAA;AAAA,WAClE,CAAA,CAAA;AAAA,SACK,MAAA;AACN,UAAA,GAAA,CAAI,IAAK,CAAA;AAAA,YACR,GAAG,IAAA;AAAA,YACH,KAAA;AAAA,YACA,MAAQ,EAAA,IAAA;AAAA,YACR,OAAS,EAAA,KAAA;AAAA,YACT,QAAU,EAAA,KAAA;AAAA,YACV,OAAS,EAAA,KAAA;AAAA,YACT,UAAA,EAAY,CAAC,CAAC,KAAM,CAAA,IAAA;AAAA,YACpB,UAAU,KAAM,CAAA,MAAA;AAAA,WAChB,CAAA,CAAA;AAAA,SACF;AAAA,OACA,CAAA,CAAA;AACD,MAAO,OAAA,GAAA,CAAA;AAAA,KACR;AAEA,IAAA,SAAS,gBAAgB,MAAQ,EAAA;AAChC,MAAA,IAAI,cAAc,EAAC,CAAA;AACnB,MAAI,IAAA,OAAO,WAAW,QAAU,EAAA;AAC/B,QAAc,WAAA,GAAA,MAAA,CAAO,MAAM,GAAG,CAAA,CAAA;AAAA,OACpB,MAAA,IAAA,KAAA,CAAM,OAAQ,CAAA,MAAM,CAAG,EAAA;AACjC,QAAc,WAAA,GAAA,MAAA,CAAA;AAAA,OACf;AACA,MAAA,IAAI,YAAY,MAAQ,EAAA;AACvB,QAAA,IAAI,MAAM,SAAW,EAAA;AACpB,UAAiB,gBAAA,CAAA,KAAA,CAAM,OAAO,WAAW,CAAA,CAAA;AAAA,SAC1C;AACA,QAAA,IAAI,MAAM,EAAC,CAAA;AACX,QAAA,WAAA,CAAY,QAAQ,CAAS,KAAA,KAAA;AAC5B,UAAA,IAAI,MAAM,UAAY,EAAA;AACrB,YAAe,cAAA,CAAA,KAAA,CAAM,OAAO,KAAK,CAAA,CAAA;AAAA,WAClC;AACA,UAAA,IAAI,KAAM,CAAA,MAAA;AAAQ,YAAO,OAAA,KAAA,CAAA;AACzB,UAAA,IAAI,GAAM,GAAA,gBAAA,CAAiB,KAAM,CAAA,KAAA,EAAO,KAAK,CAAA,CAAA;AAC7C,UAAA,IAAI,SAAS,GAAI,CAAA,GAAA,CAAI,UAAQ,IAAK,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA,CAAA;AAClD,UAAA,GAAA,GAAM,CAAC,GAAG,GAAK,EAAA,GAAG,MAAM,CAAA,CAAA;AACxB,UAAA,IAAI,eAAe,KAAM,CAAA,IAAA,CAAK,IAAI,GAAA,CAAI,GAAG,CAAC,CAAA,CAAA;AAC1C,UAAkB,iBAAA,CAAA,KAAA,CAAM,OAAO,YAAY,CAAA,CAAA;AAAA,SAC3C,CAAA,CAAA;AAAA,OACF;AAAA,KACD;AAEA,IAAS,SAAA,gBAAA,CAAiB,KAAK,MAAQ,EAAA;AACtC,MAAA,KAAA,MAAW,QAAQ,GAAK,EAAA;AACvB,QAAA,IAAI,OAAO,QAAS,CAAA,IAAA,CAAK,KAAM,CAAA,SAAS,CAAC,CAAG,EAAA;AAC3C,UAAA,IAAA,CAAK,OAAU,GAAA,IAAA,CAAA;AACf,UAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,CAAE,CAAA,MAAA,GAAS,CAAG,EAAA;AACpE,YAAI,IAAA,CAAC,MAAM,aAAe,EAAA;AACzB,cAAA,wBAAA,CAAyB,GAAK,EAAA,IAAA,CAAK,KAAM,CAAA,SAAS,GAAG,IAAI,CAAA,CAAA;AAAA,aAC1D;AAAA,WACD;AAAA,SACM,MAAA;AACN,UAAA,IAAA,CAAK,OAAU,GAAA,KAAA,CAAA;AACf,UAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,CAAE,CAAA,MAAA,GAAS,CAAG,EAAA;AAEpE,YAAA,gBAAA,CAAiB,IAAK,CAAA,KAAA,CAAM,YAAY,CAAA,EAAG,MAAM,CAAA,CAAA;AAAA,WAClD;AAAA,SACD;AAAA,OACD;AAAA,KACD;AAEA,IAAS,SAAA,iBAAA,CAAkB,KAAK,MAAQ,EAAA;AACvC,MAAA,KAAA,MAAW,QAAQ,GAAK,EAAA;AACvB,QAAA,IAAI,OAAO,QAAS,CAAA,IAAA,CAAK,KAAM,CAAA,SAAS,CAAC,CAAG,EAAA;AAC3C,UAAA,IAAA,CAAK,QAAW,GAAA,IAAA,CAAA;AAAA,SACV,MAAA;AACN,UAAA,IAAA,CAAK,QAAW,GAAA,KAAA,CAAA;AAAA,SACjB;AACA,QAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,CAAE,CAAA,MAAA,GAAS,CAAG,EAAA;AAEpE,UAAA,iBAAA,CAAkB,IAAK,CAAA,KAAA,CAAM,YAAY,CAAA,EAAG,MAAM,CAAA,CAAA;AAAA,SACnD;AAAA,OACD;AAAA,KACD;AAEA,IAAS,SAAA,kBAAA,CAAmB,KAAe,EAAA,QAAA,EAAmB,IAAc,EAAA;AAC3E,MAAA,eAAA,CAAgB,KAAM,CAAA,KAAA,EAAO,KAAO,EAAA,IAAA,EAAM,QAAQ,CAAA,CAAA;AAAA,KACnD;AAEA,IAAA,SAAS,eAAgB,CAAA,GAAA,EAAa,KAAe,EAAA,IAAA,EAAc,QAAU,EAAA;AAC5E,MAAA,KAAA,MAAW,QAAQ,GAAK,EAAA;AACvB,QAAA,IAAI,IAAK,CAAA,KAAA,CAAM,SAAS,CAAA,KAAM,KAAO,EAAA;AACpC,UAAI,IAAA,KAAA,CAAM,SAAa,IAAA,IAAA,KAAS,UAAY,EAAA;AAC3C,YAAA,GAAA,CAAI,QAAQ,CAAQ,IAAA,KAAA;AACnB,cAAA,IAAA,CAAK,IAAI,CAAI,GAAA,KAAA,CAAA;AAAA,aACb,CAAA,CAAA;AAAA,WACF;AACA,UAAA,IAAA,CAAK,IAAI,CAAI,GAAA,QAAA,CAAA;AAAA,SACd;AACA,QAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,CAAE,CAAA,MAAA,GAAS,CAAG,EAAA;AAEpE,UAAA,eAAA,CAAgB,KAAK,KAAM,CAAA,YAAY,CAAG,EAAA,KAAA,EAAO,MAAM,QAAQ,CAAA,CAAA;AAAA,SAChE;AAAA,OACD;AAAA,KACD;AAEA,IAAS,SAAA,wBAAA,CAAyB,GAAK,EAAA,KAAA,EAAO,QAAU,EAAA;AACvD,MAAA,GAAA,CAAI,QAAQ,CAAQ,IAAA,KAAA;AACnB,QAAA,IAAI,IAAK,CAAA,KAAA,CAAM,SAAS,CAAA,KAAM,KAAO,EAAA;AACpC,UAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,EAAE,MAAQ,EAAA;AAChE,YAAA,aAAA,CAAc,IAAK,CAAA,KAAA,CAAM,YAAY,CAAA,EAAG,QAAQ,CAAA,CAAA;AAAA,WACjD;AAAA,SACM,MAAA;AACN,UAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,CAAE,CAAA,MAAA,GAAS,CAAG,EAAA;AACpE,YAAA,wBAAA,CAAyB,IAAK,CAAA,KAAA,CAAM,YAAY,CAAA,EAAG,OAAO,QAAQ,CAAA,CAAA;AAAA,WACnE;AAAA,SACD;AAAA,OACA,CAAA,CAAA;AAAA,KACF;AAEA,IAAS,SAAA,aAAA,CAAc,KAAK,QAAU,EAAA;AACrC,MAAA,GAAA,CAAI,QAAQ,CAAQ,IAAA,KAAA;AACnB,QAAA,IAAA,CAAK,OAAU,GAAA,QAAA,CAAA;AACf,QAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,EAAE,MAAQ,EAAA;AAChE,UAAA,aAAA,CAAc,IAAK,CAAA,KAAA,CAAM,YAAY,CAAA,EAAG,QAAQ,CAAA,CAAA;AAAA,SACjD;AAAA,OACA,CAAA,CAAA;AAAA,KACF;AAEA,IAAA,SAAS,eAAe,GAAK,EAAA;AAC5B,MAAA,GAAA,CAAI,QAAQ,CAAQ,IAAA,KAAA;AACnB,QAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,EAAE,MAAQ,EAAA;AAChE,UAAI,IAAA,GAAA,GAAM,KAAK,KAAM,CAAA,YAAY,EAAE,MAAO,CAAA,CAAA,CAAA,KAAK,CAAC,CAAA,CAAE,OAAO,CAAA,CAAA;AACzD,UAAA,IAAI,IAAI,MAAQ,EAAA;AACf,YAAA,IAAA,CAAK,OAAU,GAAA,KAAA,CAAA;AAAA,WACT,MAAA;AACN,YAAA,IAAA,CAAK,OAAU,GAAA,IAAA,CAAA;AAAA,WAChB;AACA,UAAe,cAAA,CAAA,IAAA,CAAK,KAAM,CAAA,YAAY,CAAC,CAAA,CAAA;AAAA,SACxC;AAAA,OACA,CAAA,CAAA;AAAA,KACF;AAEA,IAAA,SAAS,cAAe,CAAA,GAAA,EAAK,MAAS,GAAA,EAAI,EAAA;AACzC,MAAA,IAAI,GAAM,GAAA,MAAA,CAAA;AACV,MAAA,GAAA,CAAI,QAAQ,CAAQ,IAAA,KAAA;AACnB,QAAA,IAAI,KAAK,OAAS,EAAA;AACjB,UAAA,GAAA,CAAI,IAAK,CAAA,IAAA,CAAK,KAAM,CAAA,SAAS,CAAC,CAAA,CAAA;AAAA,SAC/B;AACA,QAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,EAAE,MAAQ,EAAA;AAChE,UAAA,cAAA,CAAe,IAAK,CAAA,KAAA,CAAM,YAAY,CAAA,EAAG,GAAG,CAAA,CAAA;AAAA,SAC7C;AAAA,OACA,CAAA,CAAA;AACD,MAAO,OAAA,GAAA,CAAA;AAAA,KACR;AAEA,IAAA,SAAS,cAAe,CAAA,GAAA,EAAK,MAAS,GAAA,EAAI,EAAA;AACzC,MAAA,IAAI,GAAM,GAAA,MAAA,CAAA;AACV,MAAA,GAAA,CAAI,QAAQ,CAAQ,IAAA,KAAA;AACnB,QAAA,IAAI,KAAK,QAAU,EAAA;AAClB,UAAA,GAAA,CAAI,IAAK,CAAA,IAAA,CAAK,KAAM,CAAA,SAAS,CAAC,CAAA,CAAA;AAAA,SACxB,MAAA;AACN,UAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,EAAE,MAAQ,EAAA;AAChE,YAAA,cAAA,CAAe,IAAK,CAAA,KAAA,CAAM,YAAY,CAAA,EAAG,GAAG,CAAA,CAAA;AAAA,WAC7C;AAAA,SACD;AAAA,OACA,CAAA,CAAA;AACD,MAAO,OAAA,GAAA,CAAA;AAAA,KACR;AAEA,IAAS,SAAA,cAAA,CAAe,KAAK,KAAO,EAAA;AACnC,MAAA,GAAA,CAAI,QAAQ,CAAQ,IAAA,KAAA;AACnB,QAAA,IAAI,IAAK,CAAA,KAAA,CAAM,SAAS,CAAA,KAAM,KAAO,EAAA;AACpC,UAAA,IAAA,CAAK,QAAW,GAAA,IAAA,CAAA;AAAA,SACV,MAAA;AACN,UAAA,IAAA,CAAK,QAAW,GAAA,KAAA,CAAA;AAChB,UAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,EAAE,MAAQ,EAAA;AAChE,YAAA,cAAA,CAAe,IAAK,CAAA,KAAA,CAAM,YAAY,CAAA,EAAG,KAAK,CAAA,CAAA;AAAA,WAC/C;AAAA,SACD;AAAA,OACA,CAAA,CAAA;AAAA,KACF;AAEA,IAAS,SAAA,eAAA,CAAgB,KAAK,MAAQ,EAAA;AACrC,MAAA,GAAA,CAAI,QAAQ,CAAQ,IAAA,KAAA;AACnB,QAAA,IAAI,OAAO,QAAS,CAAA,IAAA,CAAK,KAAM,CAAA,SAAS,CAAC,CAAG,EAAA;AAC3C,UAAA,IAAA,CAAK,QAAW,GAAA,IAAA,CAAA;AAAA,SACV,MAAA;AACN,UAAA,IAAA,CAAK,QAAW,GAAA,KAAA,CAAA;AAAA,SACjB;AACA,QAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,EAAE,MAAQ,EAAA;AAChE,UAAA,eAAA,CAAgB,IAAK,CAAA,KAAA,CAAM,YAAY,CAAA,EAAG,MAAM,CAAA,CAAA;AAAA,SACjD;AAAA,OACA,CAAA,CAAA;AAAA,KACF;AAEA,IAAS,SAAA,gBAAA,CAAiB,KAAK,KAAO,EAAA;AACrC,MAAA,IAAI,eAAe,EAAC,CAAA;AACpB,MAAS,SAAA,IAAA,CAAK,MAAM,SAAW,EAAA;AAC9B,QAAA,IAAI,IAAK,CAAA,KAAA,CAAM,SAAS,CAAA,KAAM,KAAO,EAAA;AACpC,UAAa,YAAA,CAAA,IAAA,CAAK,GAAG,SAAS,CAAA,CAAA;AAC9B,UAAO,OAAA,IAAA,CAAA;AAAA,SACD,MAAA;AACN,UAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,EAAE,MAAQ,EAAA;AAChE,YAAA,IAAI,SAAY,GAAA,CAAC,GAAG,SAAA,EAAW,IAAI,CAAA,CAAA;AACnC,YAAA,IAAA,CAAK,KAAM,CAAA,YAAY,CAAE,CAAA,OAAA,CAAQ,CAAQ,IAAA,KAAA;AACxC,cAAI,IAAA,IAAA,CAAK,IAAM,EAAA,SAAS,CAAG,EAAA;AAC1B,gBAAO,OAAA,IAAA,CAAA;AAAA,eACR;AAAA,aACA,CAAA,CAAA;AAAA,WACF;AAAA,SACD;AAAA,OACD;AACA,MAAA,KAAA,MAAW,QAAQ,GAAK,EAAA;AACvB,QAAA,IAAI,IAAK,CAAA,IAAA,EAAM,EAAE,CAAG,EAAA;AACnB,UAAA,MAAA;AAAA,SACD;AAAA,OACD;AACA,MAAO,OAAA,YAAA,CAAA;AAAA,KACR;AAEA,IAAA,SAAS,WAAY,CAAA,IAAA,EAAY,QAAkB,EAAA,SAAA,GAAY,KAAO,EAAA;AACrE,MAAA,SAAS,KAAK,GAAK,EAAA;AAClB,QAAA,GAAA,CAAI,QAAQ,CAAQ,IAAA,KAAA;AACnB,UAAA,IAAI,KAAK,KAAM,CAAA,SAAS,MAAM,IAAK,CAAA,KAAA,CAAM,SAAS,CAAG,EAAA;AACpD,YAAA,IAAA,CAAK,MAAM,YAAY,CAAA,GAAI,cAAe,CAAA,QAAA,EAAU,KAAK,KAAK,CAAA,CAAA;AAC9D,YAAA,IAAA,CAAK,QAAW,GAAA,IAAA,CAAA;AAChB,YAAK,IAAA,CAAA,MAAA,GAAS,EAAE,QAAA,IAAY,QAAS,CAAA,MAAA,CAAA,CAAA;AACrC,YAAA,IAAA,CAAK,UAAa,GAAA,SAAA,CAAA;AAAA,WACZ,MAAA;AACN,YAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,EAAE,MAAQ,EAAA;AAChE,cAAK,IAAA,CAAA,IAAA,CAAK,KAAM,CAAA,YAAY,CAAC,CAAA,CAAA;AAAA,aAC9B;AAAA,WACD;AAAA,SACA,CAAA,CAAA;AAAA,OACF;AACA,MAAA,IAAA,CAAK,MAAM,KAAK,CAAA,CAAA;AAAA,KACjB;AAEA,IAAS,SAAA,cAAA,CAAe,UAAkB,KAAO,EAAA;AAChD,MAAO,OAAA,QAAA,CAAS,IAAI,CAAQ,IAAA,KAAA;AAC3B,QAAO,OAAA;AAAA,UACN,MAAQ,EAAA,KAAA;AAAA,UACR,QAAU,EAAA,KAAA;AAAA,UACV,OAAS,EAAA,KAAA;AAAA,UACT,QAAU,EAAA,KAAA;AAAA,UACV,GAAG,IAAA;AAAA,UACH,OAAS,EAAA,KAAA;AAAA,UACT,YAAY,IAAK,CAAA,MAAA,KAAW,KAAY,CAAA,GAAA,CAAC,KAAK,MAAS,GAAA,IAAA;AAAA,UACvD,OAAO,KAAQ,GAAA,CAAA;AAAA,UACf,CAAC,KAAA,CAAM,YAAY,GAAG,EAAC;AAAA,SACxB,CAAA;AAAA,OACA,CAAA,CAAA;AAAA,KACF;AAEA,IAAM,MAAA,WAAA,GAAc,SAAS,MAAM;AAClC,MAAI,IAAA,CAAC,WAAW,KAAO,EAAA;AACtB,QAAA,OAAO,KAAM,CAAA,KAAA,CAAA;AAAA,OACd;AACA,MAAA,OAAO,WAAY,CAAA,KAAA,CAAM,KAAO,EAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,KAChD,CAAA,CAAA;AAED,IAAS,SAAA,WAAA,CAAY,OAAe,OAAyB,EAAA;AAC5D,MAAA,OAAO,KAAM,CAAA,MAAA,CAAe,CAAC,MAAA,EAAQ,IAAS,KAAA;AAE7C,QAAA,MAAM,OAAU,GAAA,KAAA,CAAM,gBAAmB,GAAA,KAAA,CAAM,gBAAiB,CAAA,OAAA,EAAS,IAAI,CAAA,GAAI,IAAK,CAAA,KAAA,CAAM,SAAS,CAAA,CAAE,SAAS,OAAO,CAAA,CAAA;AAGvH,QAAA,IAAI,OAAS,EAAA;AACZ,UAAA,MAAA,CAAO,KAAK,IAAI,CAAA,CAAA;AAChB,UAAO,OAAA,MAAA,CAAA;AAAA,SACR;AAGA,QAAI,IAAA,IAAA,CAAK,MAAM,YAAY,CAAA,IAAK,KAAK,KAAM,CAAA,YAAY,EAAE,MAAQ,EAAA;AAEhE,UAAA,MAAM,mBAAmB,WAAY,CAAA,IAAA,CAAK,KAAM,CAAA,YAAY,GAAG,OAAO,CAAA,CAAA;AAGtE,UAAA,IAAI,iBAAiB,MAAQ,EAAA;AAE5B,YAAM,MAAA,OAAA,GAAU,EAAE,GAAG,IAAA,EAAM,CAAC,KAAM,CAAA,YAAY,GAAG,gBAAiB,EAAA,CAAA;AAClE,YAAA,MAAA,CAAO,KAAK,OAAO,CAAA,CAAA;AAAA,WACpB;AAAA,SACD;AAEA,QAAO,OAAA,MAAA,CAAA;AAAA,OACR,EAAG,EAAE,CAAA,CAAA;AAAA,KACN;AAEA,IAAM,MAAA,UAAA,GAAa,IAAI,EAAE,CAAA,CAAA;AACzB,IAAA,SAAS,OAAO,GAAK,EAAA;AACpB,MAAA,UAAA,CAAW,KAAQ,GAAA,GAAA,CAAA;AAAA,KACpB;AAEA,IAAA,SAAS,UAAU,IAAY,EAAA;AAC9B,MAAA,IAAA,CAAK,cAAc,IAAI,CAAA,CAAA;AAAA,KACxB;AAEA,IAAS,SAAA,MAAA,CAAO,OAAO,IAAM,EAAA;AAC5B,MAAK,IAAA,CAAA,QAAA,EAAU,OAAO,IAAI,CAAA,CAAA;AAAA,KAC3B;AAEA,IAAA,SAAS,cAAc,GAAK,EAAA;AAC3B,MAAA,UAAA,CAAW,KAAQ,GAAA,GAAA,CAAA;AAAA,KACpB;AAaA,IAAA,OAAA,CAAqB,UAAY,EAAA;AAAA,MAChC,aAAA;AAAA,MACA,kBAAA;AAAA,MACA,SAAA;AAAA,MACA,wBAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAA;AAAA,KACA,CAAA,CAAA;AAED,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAa,QAAA,CAAA;AAAA,MACZ,MAAA;AAAA,KACA,CAAA,CAAA;;wBArfA,EAAAC,kBAAA;AAAA,QAWM,KAAA;AAAA,QAAA;AAAA,UAXD,OAAKC,cAAA,CAAA,CAAC,SAAkB,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA;;UACpB,WAAA,CAAA,KAAA,CAAY,yBAC3B,EAAAD,kBAAA;AAAA,YAIeE,QAAA;AAAA,YAAA,EAAA,KAAA,CAAA,EAAA;AAAA,YAAAC,UAJc,CAAA,WAAA,CAAW,KAAA,EAAA,CAAnB,IAAI,KAAA;gCAAzB,EAAAC,WAAA,CAIeC,QAAA,EAAA;AAAA,gBAJ4B,GAAA,EAAK,IAAK,CAAA,KAAA,CAAM,SAAS,CAAA;AAAA,gBAAI,IAAM,EAAA,IAAA;AAAA,gBAAO,YAAY,EAAA,KAAA;AAAA;gBACrF,OAAA,EAAOC,OACjB,CAAA,CAAgC,KADR,KAAA;AAAA,kBACxBC,UAAA,CAAgC,IAAA,CAAA,MAAA,EAAA,SAAA,EAAA;AAAA,oBAAzB,MAAM,KAAM,CAAA,IAAA;AAAA;;;;;;;;2BAItB,EAAAP,kBAAA;AAAA,YAEM,KAAA;AAAA,YAAA;AAAA;cAFM,KAAM,EAAA,eAAA;AAAA;4BACd,QAAS,SAAA,CAAA;AAAA,YAAA,CAAA;AAAA;AAAA,WAAA,CAAA;AAAA;;;;;;;;;;"}
@@ -97,6 +97,11 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
97
97
  () => selectValues.value,
98
98
  (newVal) => {
99
99
  if (selectValues.value.length === 0) {
100
+ if (valueType.value === "string") {
101
+ emit("update:modelValue", "");
102
+ } else if (valueType.value === "object" && Array.isArray(props.modelValue)) {
103
+ emit("update:modelValue", []);
104
+ }
100
105
  return;
101
106
  }
102
107
  if (valueType.value === "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"tree.vue2.js","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTree'\n});\n</script>\n<template>\n\t<div class=\"to-tree\" :class=\"setClass\">\n\t\t<template v-if=\"filterStore.length\">\n\t\t\t<to-tree-item v-for=\"item in filterStore\" :key=\"item[props.valueText]\" :node=\"item\" :item-props=\"props\">\n\t\t\t\t<template #default=\"scope\">\n\t\t\t\t\t<slot :item=\"scope.node\"></slot>\n\t\t\t\t</template>\n\t\t\t</to-tree-item>\n\t\t</template>\n\t\t<div v-else class=\"to-tree-empty\">\n\t\t\t{{ emptyText }}\n\t\t</div>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { Ref, computed, provide, ref, watch } from 'vue'\nimport ToTreeItem from './tree-item.vue'\nimport { deepClone } from '@touchvue/utils'\n\n\n\nexport type TreeKeys = string | number\n\nexport interface Node {\n\tlabel: string\n\tvalue: string\n\ticon?: string\n\tchildren?: Node[]\n\tisLeaf?: boolean\n\tisExpand?: boolean\n\tchecked?: boolean\n\tisSelect?: boolean\n\tloading?: boolean\n\tisLoad?: boolean\n\t[key: string]: any\n}\n\nexport interface Props {\n\tmode?: string\n\texpand?: boolean\n\tdata: Node[]\n\tmodelValue?: Node[] | string\n\ttoggleLink?: false\n\tcheckLink?: false\n\tcheckable?: false\n\tselectable?: false\n\tcheckStrictly?: false\n\taccordion?: false\n\tchildrenText?: string\n\tvalueText?: string\n\tlabelText?: string\n\temptyText?: string\n\tload?: (node: any) => any | null\n\tparentSelectable?: boolean\n\tfilterNodeMethod?: (key, node) => any | null\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\texpand: false, //默认是否全部展开\n\tdata: () => [],\n\ttoggleLink: false, //是否可点击节点展开收缩\n\tcheckLink: false, //是否可点击节点选中\n\tselectable: false, //节点是否可被选择\n\tcheckable: false, //是否显示节点复选框\n\tcheckStrictly: false, //父子是否强关联\n\taccordion: false, //是否每次只打开一个同级树节点\n\tchildrenText: 'children',\n\tvalueText: 'value',\n\tlabelText: 'label',\n\tmodelValue: '',\n\temptyText: '暂无数据',\n\tload: null,\n\tparentSelectable: false,\n\tfilterNodeMethod: null\n})\n\nconst stopChange = ref(false)\n\nconst valueType = computed(() => {\n\treturn typeof props.modelValue\n})\nconst store = ref(initData(props.data, 0))\n\nconst selectValues = computed(() => {\n\tlet values = []\n\tif (props.checkable) {\n\t\tvalues = getCheckValues(store.value)\n\t}\n\tif (props.selectable) {\n\t\tvalues = getCurrentNode(store.value)\n\t}\n\treturn values\n})\n\nconst setClass = computed(() => {\n\tlet arr = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\treturn arr\n})\n\nwatch(\n\t() => store.value,\n\tnewVal => {\n\t\tif (!props.checkStrictly) {\n\t\t\tsetParentCheck(newVal)\n\t\t}\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.data,\n\tnewVal => {\n\t\tstore.value = initData(newVal, 0)\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.modelValue,\n\tnewVal => {\n\t\tif (stopChange.value) {\n\t\t\treturn\n\t\t}\n\t\tif (newVal) {\n\t\t\tinitCheckValues(newVal)\n\t\t} else {\n\t\t\tif (props.checkable) {\n\t\t\t\tsetCheckByValues(store.value, [])\n\t\t\t}\n\t\t\tif (props.selectable) {\n\t\t\t\tsetCurrentNode(store.value, '')\n\t\t\t}\n\t\t\tif (!props.expand) {\n\t\t\t\tsetExpandByKeys(store.value, [])\n\t\t\t}\n\t\t}\n\t},\n\t{ immediate: true, deep: true }\n)\nwatch(\n\t() => selectValues.value,\n\tnewVal => {\n\t\tif (selectValues.value.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tif (valueType.value === 'string') {\n\t\t\temit('update:modelValue', newVal.join(','))\n\t\t} else if (valueType.value === 'object' && Array.isArray(props.modelValue)) {\n\t\t\temit('update:modelValue', newVal)\n\t\t} else {\n\t\t\tconsole.warn('请设置正确的数据类型')\n\t\t}\n\t}\n)\nfunction initData(data: Node[], levelPlus: number): Node[] {\n\tlet tem = deepClone(data)\n\tlet arr = []\n\tlet level = levelPlus\n\ttem.forEach((item: Node) => {\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tarr.push({\n\t\t\t\t...item,\n\t\t\t\tisLeaf: false,\n\t\t\t\tisExpand: props.expand,\n\t\t\t\tchecked: false,\n\t\t\t\tlevel,\n\t\t\t\tisSelect: false,\n\t\t\t\tloading: false,\n\t\t\t\tisNeedLoad: !!props.load,\n\t\t\t\t[props.childrenText]: initData(item[props.childrenText], level + 1)\n\t\t\t})\n\t\t} else {\n\t\t\tarr.push({\n\t\t\t\t...item,\n\t\t\t\tlevel,\n\t\t\t\tisLeaf: true,\n\t\t\t\tchecked: false,\n\t\t\t\tisSelect: false,\n\t\t\t\tloading: false,\n\t\t\t\tisNeedLoad: !!props.load,\n\t\t\t\tisExpand: props.expand\n\t\t\t})\n\t\t}\n\t})\n\treturn arr\n}\n\nfunction initCheckValues(newVal) {\n\tlet checkValues = []\n\tif (typeof newVal === 'string') {\n\t\tcheckValues = newVal.split(',')\n\t} else if (Array.isArray(newVal)) {\n\t\tcheckValues = newVal\n\t}\n\tif (checkValues.length) {\n\t\tif (props.checkable) {\n\t\t\tsetCheckByValues(store.value, checkValues)\n\t\t}\n\t\tlet arr = []\n\t\tcheckValues.forEach(value => {\n\t\t\tif (props.selectable) {\n\t\t\t\tsetCurrentNode(store.value, value)\n\t\t\t}\n\t\t\tif (props.expand) return false\n\t\t\tlet tem = getParentByValue(store.value, value)\n\t\t\tlet values = tem.map(item => item[props.valueText])\n\t\t\tarr = [...arr, ...values]\n\t\t\tlet expandValues = Array.from(new Set(arr))\n\t\t\tsetExpandByValues(store.value, expandValues)\n\t\t})\n\t}\n}\n\nfunction setCheckByValues(arr, values) {\n\tfor (const item of arr) {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.checked = true\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\tif (!props.checkStrictly) {\n\t\t\t\t\tsetCheckByParentAndChild(arr, item[props.valueText], true)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\titem.checked = false\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\t// 递归查找子节点\n\t\t\t\tsetCheckByValues(item[props.childrenText], values)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction setExpandByValues(arr, values) {\n\tfor (const item of arr) {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.isExpand = true\n\t\t} else {\n\t\t\titem.isExpand = false\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t// 递归查找子节点\n\t\t\tsetExpandByValues(item[props.childrenText], values)\n\t\t}\n\t}\n}\n\nfunction setPropertyByValue(value: string, setValue: boolean, prop: string) {\n\tfindNodeByValue(store.value, value, prop, setValue)\n}\n\nfunction findNodeByValue(arr: Node[], value: string, prop: string, setValue) {\n\tfor (const item of arr) {\n\t\tif (item[props.valueText] === value) {\n\t\t\tif (props.accordion && prop === 'isExpand') {\n\t\t\t\tarr.forEach(node => {\n\t\t\t\t\tnode[prop] = false\n\t\t\t\t})\n\t\t\t}\n\t\t\titem[prop] = setValue\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t// 递归查找子节点\n\t\t\tfindNodeByValue(item[props.childrenText], value, prop, setValue)\n\t\t}\n\t}\n}\n\nfunction setCheckByParentAndChild(arr, value, setValue) {\n\tarr.forEach(item => {\n\t\tif (item[props.valueText] === value) {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tsetChildCheck(item[props.childrenText], setValue)\n\t\t\t}\n\t\t} else {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\tsetCheckByParentAndChild(item[props.childrenText], value, setValue)\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunction setChildCheck(arr, setValue) {\n\tarr.forEach(item => {\n\t\titem.checked = setValue\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tsetChildCheck(item[props.childrenText], setValue)\n\t\t}\n\t})\n}\n\nfunction setParentCheck(arr) {\n\tarr.forEach(item => {\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tlet tem = item[props.childrenText].filter(k => !k.checked)\n\t\t\tif (tem.length) {\n\t\t\t\titem.checked = false\n\t\t\t} else {\n\t\t\t\titem.checked = true\n\t\t\t}\n\t\t\tsetParentCheck(item[props.childrenText])\n\t\t}\n\t})\n}\n\nfunction getCheckValues(arr, newTem = []) {\n\tlet tem = newTem\n\tarr.forEach(item => {\n\t\tif (item.checked) {\n\t\t\ttem.push(item[props.valueText])\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tgetCheckValues(item[props.childrenText], tem)\n\t\t}\n\t})\n\treturn tem\n}\n\nfunction getCurrentNode(arr, newTem = []) {\n\tlet tem = newTem\n\tarr.forEach(item => {\n\t\tif (item.isSelect) {\n\t\t\ttem.push(item[props.valueText])\n\t\t} else {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tgetCurrentNode(item[props.childrenText], tem)\n\t\t\t}\n\t\t}\n\t})\n\treturn tem\n}\n\nfunction setCurrentNode(arr, value) {\n\tarr.forEach(item => {\n\t\tif (item[props.valueText] === value) {\n\t\t\titem.isSelect = true\n\t\t} else {\n\t\t\titem.isSelect = false\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tsetCurrentNode(item[props.childrenText], value)\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunction setExpandByKeys(arr, values) {\n\tarr.forEach(item => {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.isExpand = true\n\t\t} else {\n\t\t\titem.isExpand = false\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tsetExpandByKeys(item[props.childrenText], values)\n\t\t}\n\t})\n}\n\nfunction getParentByValue(arr, value) {\n\tlet parentValues = []\n\tfunction find(node, curParent) {\n\t\tif (node[props.valueText] === value) {\n\t\t\tparentValues.push(...curParent)\n\t\t\treturn true\n\t\t} else {\n\t\t\tif (node[props.childrenText] && node[props.childrenText].length) {\n\t\t\t\tlet newParent = [...curParent, node]\n\t\t\t\tnode[props.childrenText].forEach(item => {\n\t\t\t\t\tif (find(item, newParent)) {\n\t\t\t\t\t\treturn true\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\tfor (const root of arr) {\n\t\tif (find(root, [])) {\n\t\t\tbreak // 找到后终止遍历\n\t\t}\n\t}\n\treturn parentValues\n}\n\nfunction setChildren(node: Node, children: Node[], needReset = false) {\n\tfunction find(arr) {\n\t\tarr.forEach(item => {\n\t\t\tif (item[props.valueText] === node[props.valueText]) {\n\t\t\t\titem[props.childrenText] = formatChildren(children, node.level)\n\t\t\t\titem.isExpand = true\n\t\t\t\titem.isLeaf = !(children && children.length)\n\t\t\t\titem.isNeedLoad = needReset\n\t\t\t} else {\n\t\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\t\tfind(item[props.childrenText])\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\tfind(store.value)\n}\n\nfunction formatChildren(children: Node[], level) {\n\treturn children.map(item => {\n\t\treturn {\n\t\t\tisLeaf: false,\n\t\t\tisExpand: false,\n\t\t\tchecked: false,\n\t\t\tisSelect: false,\n\t\t\t...item,\n\t\t\tloading: false,\n\t\t\tisNeedLoad: item.isLeaf !== undefined ? !item.isLeaf : true,\n\t\t\tlevel: level + 1,\n\t\t\t[props.childrenText]: []\n\t\t}\n\t})\n}\n\nconst filterStore = computed(() => {\n\tif (!filterText.value) {\n\t\treturn store.value\n\t}\n\treturn filterNodes(store.value, filterText.value)\n})\n\nfunction filterNodes(nodes: Node[], keyword: string): Node[] {\n\treturn nodes.reduce<Node[]>((result, node) => {\n\t\t// 检查当前节点是否匹配\n\t\tconst isMatch = props.filterNodeMethod ? props.filterNodeMethod(keyword, node) : node[props.labelText].includes(keyword)\n\n\t\t// 如果当前节点匹配\n\t\tif (isMatch) {\n\t\t\tresult.push(node)\n\t\t\treturn result\n\t\t}\n\n\t\t// 如果当前节点不匹配,检查子节点\n\t\tif (node[props.childrenText] && node[props.childrenText].length) {\n\t\t\t// 递归过滤子节点\n\t\t\tconst filteredChildren = filterNodes(node[props.childrenText], keyword)\n\n\t\t\t// 如果有匹配的子节点\n\t\t\tif (filteredChildren.length) {\n\t\t\t\t// 创建新节点对象,只包含匹配的子节点\n\t\t\t\tconst newNode = { ...node, [props.childrenText]: filteredChildren }\n\t\t\t\tresult.push(newNode)\n\t\t\t}\n\t\t}\n\n\t\treturn result\n\t}, [])\n}\n\nconst filterText = ref('')\nfunction filter(val) {\n\tfilterText.value = val\n}\n\nfunction itemClick(node: Node) {\n\temit('item-click', node)\n}\n\nfunction change(value, item) {\n\temit('change', value, item)\n}\n\nfunction setStopChange(val) {\n\tstopChange.value = val\n}\n\nexport interface ProvideType {\n\tsetPropertyByValue: (value: string, setValue: boolean, prop: string) => void\n\titemClick: (node: any) => void\n\tsetCheckByParentAndChild: (arr: Node[], value: string, setVale: boolean) => void\n\tstore: Ref<Node[]>\n\tchange: (value, item: Node) => void\n\tsetStopChange: (value: boolean) => void\n\tsetChildren: (node: Node, children: Node[], needReset?: boolean) => void\n\tsetParentCheck: (arr: Node[]) => void\n}\n\nprovide<ProvideType>('RootTree', {\n\tsetStopChange,\n\tsetPropertyByValue,\n\titemClick,\n\tsetCheckByParentAndChild,\n\tstore: store,\n\tchange,\n\tsetChildren,\n\tsetParentCheck\n})\n\nconst emit = defineEmits(['item-click', 'change', 'update:modelValue'])\ndefineExpose({\n\tfilter\n})\n</script>\n"],"names":["DO_defineComponent","ref","computed","watch","deepClone","provide","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createBlock","ToTreeItem","_withCtx","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"tree.vue2.js","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTree'\n});\n</script>\n<template>\n\t<div class=\"to-tree\" :class=\"setClass\">\n\t\t<template v-if=\"filterStore.length\">\n\t\t\t<to-tree-item v-for=\"item in filterStore\" :key=\"item[props.valueText]\" :node=\"item\" :item-props=\"props\">\n\t\t\t\t<template #default=\"scope\">\n\t\t\t\t\t<slot :item=\"scope.node\"></slot>\n\t\t\t\t</template>\n\t\t\t</to-tree-item>\n\t\t</template>\n\t\t<div v-else class=\"to-tree-empty\">\n\t\t\t{{ emptyText }}\n\t\t</div>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { Ref, computed, provide, ref, watch } from 'vue'\nimport ToTreeItem from './tree-item.vue'\nimport { deepClone } from '@touchvue/utils'\n\n\n\nexport type TreeKeys = string | number\n\nexport interface Node {\n\tlabel: string\n\tvalue: string\n\ticon?: string\n\tchildren?: Node[]\n\tisLeaf?: boolean\n\tisExpand?: boolean\n\tchecked?: boolean\n\tisSelect?: boolean\n\tloading?: boolean\n\tisLoad?: boolean\n\t[key: string]: any\n}\n\nexport interface Props {\n\tmode?: string\n\texpand?: boolean\n\tdata: Node[]\n\tmodelValue?: Node[] | string\n\ttoggleLink?: false\n\tcheckLink?: false\n\tcheckable?: false\n\tselectable?: false\n\tcheckStrictly?: false\n\taccordion?: false\n\tchildrenText?: string\n\tvalueText?: string\n\tlabelText?: string\n\temptyText?: string\n\tload?: (node: any) => any | null\n\tparentSelectable?: boolean\n\tfilterNodeMethod?: (key, node) => any | null\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\texpand: false, //默认是否全部展开\n\tdata: () => [],\n\ttoggleLink: false, //是否可点击节点展开收缩\n\tcheckLink: false, //是否可点击节点选中\n\tselectable: false, //节点是否可被选择\n\tcheckable: false, //是否显示节点复选框\n\tcheckStrictly: false, //父子是否强关联\n\taccordion: false, //是否每次只打开一个同级树节点\n\tchildrenText: 'children',\n\tvalueText: 'value',\n\tlabelText: 'label',\n\tmodelValue: '',\n\temptyText: '暂无数据',\n\tload: null,\n\tparentSelectable: false,\n\tfilterNodeMethod: null\n})\n\nconst stopChange = ref(false)\n\nconst valueType = computed(() => {\n\treturn typeof props.modelValue\n})\nconst store = ref(initData(props.data, 0))\n\nconst selectValues = computed(() => {\n\tlet values = []\n\tif (props.checkable) {\n\t\tvalues = getCheckValues(store.value)\n\t}\n\tif (props.selectable) {\n\t\tvalues = getCurrentNode(store.value)\n\t}\n\treturn values\n})\n\nconst setClass = computed(() => {\n\tlet arr = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\treturn arr\n})\n\nwatch(\n\t() => store.value,\n\tnewVal => {\n\t\tif (!props.checkStrictly) {\n\t\t\tsetParentCheck(newVal)\n\t\t}\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.data,\n\tnewVal => {\n\t\tstore.value = initData(newVal, 0)\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.modelValue,\n\tnewVal => {\n\t\tif (stopChange.value) {\n\t\t\treturn\n\t\t}\n\t\tif (newVal) {\n\t\t\tinitCheckValues(newVal)\n\t\t} else {\n\t\t\tif (props.checkable) {\n\t\t\t\tsetCheckByValues(store.value, [])\n\t\t\t}\n\t\t\tif (props.selectable) {\n\t\t\t\tsetCurrentNode(store.value, '')\n\t\t\t}\n\t\t\tif (!props.expand) {\n\t\t\t\tsetExpandByKeys(store.value, [])\n\t\t\t}\n\t\t}\n\t},\n\t{ immediate: true, deep: true }\n)\nwatch(\n\t() => selectValues.value,\n\tnewVal => {\n\t\tif (selectValues.value.length === 0) {\n\t\t\tif (valueType.value === 'string') {\n\t\t\t\temit('update:modelValue', '')\n\t\t\t} else if (valueType.value === 'object' && Array.isArray(props.modelValue)) {\n\t\t\t\temit('update:modelValue', [])\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif (valueType.value === 'string') {\n\t\t\temit('update:modelValue', newVal.join(','))\n\t\t} else if (valueType.value === 'object' && Array.isArray(props.modelValue)) {\n\t\t\temit('update:modelValue', newVal)\n\t\t} else {\n\t\t\tconsole.warn('请设置正确的数据类型')\n\t\t}\n\t}\n)\nfunction initData(data: Node[], levelPlus: number): Node[] {\n\tlet tem = deepClone(data)\n\tlet arr = []\n\tlet level = levelPlus\n\ttem.forEach((item: Node) => {\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tarr.push({\n\t\t\t\t...item,\n\t\t\t\tisLeaf: false,\n\t\t\t\tisExpand: props.expand,\n\t\t\t\tchecked: false,\n\t\t\t\tlevel,\n\t\t\t\tisSelect: false,\n\t\t\t\tloading: false,\n\t\t\t\tisNeedLoad: !!props.load,\n\t\t\t\t[props.childrenText]: initData(item[props.childrenText], level + 1)\n\t\t\t})\n\t\t} else {\n\t\t\tarr.push({\n\t\t\t\t...item,\n\t\t\t\tlevel,\n\t\t\t\tisLeaf: true,\n\t\t\t\tchecked: false,\n\t\t\t\tisSelect: false,\n\t\t\t\tloading: false,\n\t\t\t\tisNeedLoad: !!props.load,\n\t\t\t\tisExpand: props.expand\n\t\t\t})\n\t\t}\n\t})\n\treturn arr\n}\n\nfunction initCheckValues(newVal) {\n\tlet checkValues = []\n\tif (typeof newVal === 'string') {\n\t\tcheckValues = newVal.split(',')\n\t} else if (Array.isArray(newVal)) {\n\t\tcheckValues = newVal\n\t}\n\tif (checkValues.length) {\n\t\tif (props.checkable) {\n\t\t\tsetCheckByValues(store.value, checkValues)\n\t\t}\n\t\tlet arr = []\n\t\tcheckValues.forEach(value => {\n\t\t\tif (props.selectable) {\n\t\t\t\tsetCurrentNode(store.value, value)\n\t\t\t}\n\t\t\tif (props.expand) return false\n\t\t\tlet tem = getParentByValue(store.value, value)\n\t\t\tlet values = tem.map(item => item[props.valueText])\n\t\t\tarr = [...arr, ...values]\n\t\t\tlet expandValues = Array.from(new Set(arr))\n\t\t\tsetExpandByValues(store.value, expandValues)\n\t\t})\n\t}\n}\n\nfunction setCheckByValues(arr, values) {\n\tfor (const item of arr) {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.checked = true\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\tif (!props.checkStrictly) {\n\t\t\t\t\tsetCheckByParentAndChild(arr, item[props.valueText], true)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\titem.checked = false\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\t// 递归查找子节点\n\t\t\t\tsetCheckByValues(item[props.childrenText], values)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction setExpandByValues(arr, values) {\n\tfor (const item of arr) {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.isExpand = true\n\t\t} else {\n\t\t\titem.isExpand = false\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t// 递归查找子节点\n\t\t\tsetExpandByValues(item[props.childrenText], values)\n\t\t}\n\t}\n}\n\nfunction setPropertyByValue(value: string, setValue: boolean, prop: string) {\n\tfindNodeByValue(store.value, value, prop, setValue)\n}\n\nfunction findNodeByValue(arr: Node[], value: string, prop: string, setValue) {\n\tfor (const item of arr) {\n\t\tif (item[props.valueText] === value) {\n\t\t\tif (props.accordion && prop === 'isExpand') {\n\t\t\t\tarr.forEach(node => {\n\t\t\t\t\tnode[prop] = false\n\t\t\t\t})\n\t\t\t}\n\t\t\titem[prop] = setValue\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t// 递归查找子节点\n\t\t\tfindNodeByValue(item[props.childrenText], value, prop, setValue)\n\t\t}\n\t}\n}\n\nfunction setCheckByParentAndChild(arr, value, setValue) {\n\tarr.forEach(item => {\n\t\tif (item[props.valueText] === value) {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tsetChildCheck(item[props.childrenText], setValue)\n\t\t\t}\n\t\t} else {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\tsetCheckByParentAndChild(item[props.childrenText], value, setValue)\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunction setChildCheck(arr, setValue) {\n\tarr.forEach(item => {\n\t\titem.checked = setValue\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tsetChildCheck(item[props.childrenText], setValue)\n\t\t}\n\t})\n}\n\nfunction setParentCheck(arr) {\n\tarr.forEach(item => {\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tlet tem = item[props.childrenText].filter(k => !k.checked)\n\t\t\tif (tem.length) {\n\t\t\t\titem.checked = false\n\t\t\t} else {\n\t\t\t\titem.checked = true\n\t\t\t}\n\t\t\tsetParentCheck(item[props.childrenText])\n\t\t}\n\t})\n}\n\nfunction getCheckValues(arr, newTem = []) {\n\tlet tem = newTem\n\tarr.forEach(item => {\n\t\tif (item.checked) {\n\t\t\ttem.push(item[props.valueText])\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tgetCheckValues(item[props.childrenText], tem)\n\t\t}\n\t})\n\treturn tem\n}\n\nfunction getCurrentNode(arr, newTem = []) {\n\tlet tem = newTem\n\tarr.forEach(item => {\n\t\tif (item.isSelect) {\n\t\t\ttem.push(item[props.valueText])\n\t\t} else {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tgetCurrentNode(item[props.childrenText], tem)\n\t\t\t}\n\t\t}\n\t})\n\treturn tem\n}\n\nfunction setCurrentNode(arr, value) {\n\tarr.forEach(item => {\n\t\tif (item[props.valueText] === value) {\n\t\t\titem.isSelect = true\n\t\t} else {\n\t\t\titem.isSelect = false\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tsetCurrentNode(item[props.childrenText], value)\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunction setExpandByKeys(arr, values) {\n\tarr.forEach(item => {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.isExpand = true\n\t\t} else {\n\t\t\titem.isExpand = false\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tsetExpandByKeys(item[props.childrenText], values)\n\t\t}\n\t})\n}\n\nfunction getParentByValue(arr, value) {\n\tlet parentValues = []\n\tfunction find(node, curParent) {\n\t\tif (node[props.valueText] === value) {\n\t\t\tparentValues.push(...curParent)\n\t\t\treturn true\n\t\t} else {\n\t\t\tif (node[props.childrenText] && node[props.childrenText].length) {\n\t\t\t\tlet newParent = [...curParent, node]\n\t\t\t\tnode[props.childrenText].forEach(item => {\n\t\t\t\t\tif (find(item, newParent)) {\n\t\t\t\t\t\treturn true\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\tfor (const root of arr) {\n\t\tif (find(root, [])) {\n\t\t\tbreak // 找到后终止遍历\n\t\t}\n\t}\n\treturn parentValues\n}\n\nfunction setChildren(node: Node, children: Node[], needReset = false) {\n\tfunction find(arr) {\n\t\tarr.forEach(item => {\n\t\t\tif (item[props.valueText] === node[props.valueText]) {\n\t\t\t\titem[props.childrenText] = formatChildren(children, node.level)\n\t\t\t\titem.isExpand = true\n\t\t\t\titem.isLeaf = !(children && children.length)\n\t\t\t\titem.isNeedLoad = needReset\n\t\t\t} else {\n\t\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\t\tfind(item[props.childrenText])\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\tfind(store.value)\n}\n\nfunction formatChildren(children: Node[], level) {\n\treturn children.map(item => {\n\t\treturn {\n\t\t\tisLeaf: false,\n\t\t\tisExpand: false,\n\t\t\tchecked: false,\n\t\t\tisSelect: false,\n\t\t\t...item,\n\t\t\tloading: false,\n\t\t\tisNeedLoad: item.isLeaf !== undefined ? !item.isLeaf : true,\n\t\t\tlevel: level + 1,\n\t\t\t[props.childrenText]: []\n\t\t}\n\t})\n}\n\nconst filterStore = computed(() => {\n\tif (!filterText.value) {\n\t\treturn store.value\n\t}\n\treturn filterNodes(store.value, filterText.value)\n})\n\nfunction filterNodes(nodes: Node[], keyword: string): Node[] {\n\treturn nodes.reduce<Node[]>((result, node) => {\n\t\t// 检查当前节点是否匹配\n\t\tconst isMatch = props.filterNodeMethod ? props.filterNodeMethod(keyword, node) : node[props.labelText].includes(keyword)\n\n\t\t// 如果当前节点匹配\n\t\tif (isMatch) {\n\t\t\tresult.push(node)\n\t\t\treturn result\n\t\t}\n\n\t\t// 如果当前节点不匹配,检查子节点\n\t\tif (node[props.childrenText] && node[props.childrenText].length) {\n\t\t\t// 递归过滤子节点\n\t\t\tconst filteredChildren = filterNodes(node[props.childrenText], keyword)\n\n\t\t\t// 如果有匹配的子节点\n\t\t\tif (filteredChildren.length) {\n\t\t\t\t// 创建新节点对象,只包含匹配的子节点\n\t\t\t\tconst newNode = { ...node, [props.childrenText]: filteredChildren }\n\t\t\t\tresult.push(newNode)\n\t\t\t}\n\t\t}\n\n\t\treturn result\n\t}, [])\n}\n\nconst filterText = ref('')\nfunction filter(val) {\n\tfilterText.value = val\n}\n\nfunction itemClick(node: Node) {\n\temit('item-click', node)\n}\n\nfunction change(value, item) {\n\temit('change', value, item)\n}\n\nfunction setStopChange(val) {\n\tstopChange.value = val\n}\n\nexport interface ProvideType {\n\tsetPropertyByValue: (value: string, setValue: boolean, prop: string) => void\n\titemClick: (node: any) => void\n\tsetCheckByParentAndChild: (arr: Node[], value: string, setVale: boolean) => void\n\tstore: Ref<Node[]>\n\tchange: (value, item: Node) => void\n\tsetStopChange: (value: boolean) => void\n\tsetChildren: (node: Node, children: Node[], needReset?: boolean) => void\n\tsetParentCheck: (arr: Node[]) => void\n}\n\nprovide<ProvideType>('RootTree', {\n\tsetStopChange,\n\tsetPropertyByValue,\n\titemClick,\n\tsetCheckByParentAndChild,\n\tstore: store,\n\tchange,\n\tsetChildren,\n\tsetParentCheck\n})\n\nconst emit = defineEmits(['item-click', 'change', 'update:modelValue'])\ndefineExpose({\n\tfilter\n})\n</script>\n"],"names":["DO_defineComponent","ref","computed","watch","deepClone","provide","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createBlock","ToTreeItem","_withCtx","_renderSlot"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@touchvue/ui",
3
- "version": "1.0.0-beta.21",
3
+ "version": "1.0.0-beta.22",
4
4
  "description": "TouchVue UI Component Library",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.mjs",