Skip to content

Commit dcf2d74

Browse files
committed
fix: 修复懒加载的时候,删除已选项不成功问题
1 parent 6dbd696 commit dcf2d74

File tree

6 files changed

+23
-29
lines changed

6 files changed

+23
-29
lines changed

examples/App.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import Drag from './Drag.vue'
2222
2323
import Loading from './Loading.vue'
2424
import Search from './Search.vue'
25+
import SearchRemote from './SearchRemote.vue'
2526
import Drop from './Drop.vue'
2627
import DropDataChange from './DropDataChange.vue'
2728
import Feature from './Feature.vue'
@@ -34,6 +35,7 @@ export default defineComponent({
3435
Search,
3536
Drop,
3637
Drag,
38+
SearchRemote,
3739
// DropDataChange,
3840
Feature,
3941
Performance,
@@ -45,7 +47,7 @@ export default defineComponent({
4547
Performance,
4648
Loading,
4749
Search,
48-
// SearchRemote,
50+
SearchRemote,
4951
// SearchRootRemote,
5052
Drop,
5153
// DropRemote,

examples/Search.vue

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
<template>
22
<VTreeSearch
3-
ref="treeSearch"
3+
ref="treeSearchRef"
44
v-model="value"
5-
:data="data"
65
checkable
76
:expandOnFilter="false"
87
>
@@ -18,7 +17,7 @@
1817
<script lang="ts">
1918
import { VTreeSearch } from '../src'
2019
import treeDataGenerator from '../tests/tree-data-generator'
21-
import { defineComponent, reactive, ref } from 'vue-demi'
20+
import { defineComponent, onMounted, reactive, ref } from 'vue-demi'
2221
const genData = (extra = {}) => {
2322
return treeDataGenerator(
2423
Object.assign(
@@ -40,10 +39,16 @@ export default defineComponent({
4039
VTreeSearch
4140
},
4241
setup(props) {
43-
const data = reactive(genData().data)
42+
// const data = reactive(genData().data)
43+
const data = genData().data
4444
const value = ref('2')
45+
const treeSearchRef = ref()
46+
onMounted(() => {
47+
console.log(treeSearchRef.value.setData(data))
48+
})
4549
return {
46-
data,
50+
treeSearchRef,
51+
// data,
4752
value
4853
}
4954
}

examples/SearchRemote.vue

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
<template>
22
<div style="height: 100%">
3-
<VTreeSearch
4-
v-model="value"
5-
:load="load"
6-
search-remote
7-
checkable
8-
@search="handleSearch"
3+
<VTreeSearch v-model="value" :load="load" checkable
94
><span slot="empty">slot 传进来的暂无数据</span></VTreeSearch
105
>
116
{{ value }}
@@ -44,9 +39,9 @@ export default defineComponent({
4439
setTimeout(() => {
4540
const data = genData({ nodesPerLevel: times[index.value] }).data
4641
resolve(data)
47-
}, 10)
42+
}, 1000)
4843
}
49-
const value = reactive(['93', '124'])
44+
const value = ref(['93', '124'])
5045
function handleSearch() {
5146
index.value++
5247
if (index.value >= times.length) index.value = 0

src/components/Tree.vue

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -822,20 +822,8 @@ export default defineComponent({
822822
storeEvents.forEach(eventName => {
823823
nonReactive.store.on(eventName, (...args: any[]) => {
824824
ctx.emit.apply(ctx, [eventName, ...args])
825-
// ctx.emit(eventName, ...args)
826825
})
827826
})
828-
// for (let event in ctx.attrs) {
829-
// if (storeEvents.indexOf(event as keyof IEventNames) > -1) {
830-
// const e: keyof IEventNames = event as keyof IEventNames
831-
// nonReactive.store.on(
832-
// e,
833-
// ctx.attrs[event] as
834-
// | ListenerType<typeof e>
835-
// | Array<ListenerType<typeof e>>
836-
// )
837-
// }
838-
// }
839827
}
840828
841829
//#region Calculate nodes

src/components/TreeNode.vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,11 @@ export default defineComponent({
164164
]
165165
})
166166
const fullData = computed(() => {
167-
return getNode(props.data ? props.data[keyField] : '') || ({} as TreeNode)
167+
return (
168+
getNode(props.data ? props.data[keyField] : '') ||
169+
props.data ||
170+
({} as TreeNode)
171+
)
168172
})
169173
const showCheckbox = computed(() => {
170174
return props.checkable

src/components/TreeSearch.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ const treeNodePrefixCls = 'ctree-tree-node'
7575
export default defineComponent({
7676
name: 'CTreeSearch',
7777
inheritAttrs: false,
78-
emits: ['checked-change', 'search', 'set-data', 'update:ModelValue'],
78+
emits: ['checked-change', 'search', 'set-data', 'update:modelValue'],
7979
components: {
8080
CTree
8181
},
@@ -167,7 +167,7 @@ export default defineComponent({
167167
},
168168
set: newVal => {
169169
updateCheckedCount()
170-
emit('update:ModelValue', newVal)
170+
emit('update:modelValue', newVal)
171171
}
172172
})
173173
const wrapperCls = computed(() => {

0 commit comments

Comments
 (0)