diff --git a/src/components/TreeDrop.vue b/src/components/TreeDrop.vue index bf6d34f..eafe79c 100644 --- a/src/components/TreeDrop.vue +++ b/src/components/TreeDrop.vue @@ -56,7 +56,8 @@ import { watch, nextTick, PropType, - withCtx + withCtx, + isVue2 } from 'vue-demi' import CTreeSearch from './TreeSearch.vue' import { TreeNode } from '../store' @@ -399,8 +400,7 @@ export default defineComponent({ dropdownVisible.value = false } - /** 处理树数据更新 */ - function handleSetData(): void { + function onSetData() { const treeRef = treeSearchRef.value.$refs.treeRef slotProps.checkedNodes = treeSearchRef.value.getCheckedNodes() slotProps.checkedKeys = treeSearchRef.value.getCheckedKeys() @@ -424,6 +424,10 @@ export default defineComponent({ } } } + /** 处理树数据更新 */ + function handleSetData(): void { + isVue2 ? nextTick(onSetData) : onSetData() + } onMounted(() => { document.addEventListener('click', handleDocumentClick) if (props.transfer) { @@ -475,7 +479,7 @@ export default defineComponent({ handleClear, handleCheckedChange, handleSelectedChange, - handleSetData + handleSetData, } } }) diff --git a/src/components/TreeSearch.vue b/src/components/TreeSearch.vue index 65608f0..e5aa937 100644 --- a/src/components/TreeSearch.vue +++ b/src/components/TreeSearch.vue @@ -61,7 +61,9 @@ import { Ref, computed, onMounted, - PropType + PropType, + isVue2, +nextTick } from 'vue-demi' import CTree from './Tree.vue' import { ApiType } from '../const' @@ -370,8 +372,9 @@ export default defineComponent({ function onSetData() { emit('set-data') - handleSetData() + isVue2 ? nextTick(handleSetData) : handleSetData() } + onMounted(() => { if (checkable.value && !checkedCount.value) { handleSetData() @@ -421,7 +424,7 @@ export default defineComponent({ checkedChange, onSetData, clearKeyword, - search + search, } } })