Skip to content

Commit

Permalink
refactor(tree-select): obtain updateSelectedData/hidePanel from baseS…
Browse files Browse the repository at this point in the history
…electRef
  • Loading branch information
kagol committed Jun 18, 2024
1 parent 464a602 commit 19a6503
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 18 deletions.
12 changes: 6 additions & 6 deletions packages/renderless/src/tree-select/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ export const filter =
}

export const nodeClick =
({ props }) =>
(data, { updateSelectedData, hidePanel }) => {
({ props, vm }) =>
(data) => {
if (!props.multiple) {
updateSelectedData({
vm.$refs.baseSelectRef.updateSelectedData({
...data,
currentLabel: data[props.textField],
value: data[props.valueField],
Expand All @@ -17,15 +17,15 @@ export const nodeClick =
}
})

hidePanel()
vm.$refs.baseSelectRef.hidePanel()
}
}

export const check =
({ props }) =>
(checkedNodes, { updateSelectedData }) => {
(data, { checkedNodes }) => {
if (props.multiple) {
updateSelectedData(
vm.$refs.baseSelectRef.updateSelectedData(
checkedNodes.map((node) => {
return {
...node,
Expand Down
2 changes: 1 addition & 1 deletion packages/renderless/src/tree-select/vue.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export const renderless = (props, { reactive }, { vm }) => {
Object.assign(api, {
state,
filter: filter({ vm }),
nodeClick: nodeClick({ props }),
nodeClick: nodeClick({ props, vm }),
check: check({ props })
})

Expand Down
15 changes: 4 additions & 11 deletions packages/vue/src/tree-select/src/pc.vue
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
<template>
<tiny-base-select
ref="baseSelectRef"
class="tiny-tree-select"
v-model="state.value"
:multiple="multiple"
:filterable="filterable"
:clearable="clearable"
:filter-method="filter"
>
<template #panel="{ methods: { updateSelectedData, hidePanel } }">
<template #panel>
<tiny-tree
ref="treeRef"
:data="state.treeData"
Expand All @@ -18,16 +19,8 @@
:node-key="valueField"
:show-checkbox="multiple"
:filter-node-method="filterMethod"
@node-click="
(data) => {
nodeClick(data, { updateSelectedData, hidePanel })
}
"
@check="
(data, { checkedNodes }) => {
check(checkedNodes, { updateSelectedData })
}
"
@node-click="nodeClick"
@check="check"
></tiny-tree>
</template>
</tiny-base-select>
Expand Down

0 comments on commit 19a6503

Please sign in to comment.