From f206989f69561a6ee1a3bfd44fce3f4468142b65 Mon Sep 17 00:00:00 2001
From: liuzaijiang <530604689@qq.com>
Date: Wed, 27 Jul 2022 11:21:29 +0800
Subject: [PATCH] fix(pro:tree): onSearch cannot get the latest searchValue
value
---
packages/pro/tree/__tests__/proTree.spec.ts | 13 ++++++++++++-
packages/pro/tree/demo/Basic.vue | 13 ++++++++++++-
packages/pro/tree/docs/Index.zh.md | 2 +-
packages/pro/tree/src/ProTree.tsx | 5 +++--
packages/pro/tree/src/types.ts | 1 +
5 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/packages/pro/tree/__tests__/proTree.spec.ts b/packages/pro/tree/__tests__/proTree.spec.ts
index 1127a4d2b..e00e41c19 100644
--- a/packages/pro/tree/__tests__/proTree.spec.ts
+++ b/packages/pro/tree/__tests__/proTree.spec.ts
@@ -408,13 +408,19 @@ describe('ProTree', () => {
expect(wrapper.find('.ix-icon-uncollapse').exists()).toBe(false)
})
- test('searchValue work', async () => {
+ test('searchValue.sync work', async () => {
+ const onSearch = vi.fn()
+ const onUpdateSearch = vi.fn()
const wrapper = ProTreeMount({
props: {
searchValue: 'Node 0-0',
+ onSearch,
+ 'onUpdate:searchValue': onUpdateSearch,
},
})
+ const input = wrapper.find('.ix-pro-tree-search-wrapper .ix-input-inner')
+
const allNodes = wrapper.findAll('.ix-tree-node')
expect(allNodes[1].find('.ix-tree-node-content-label-highlight').exists()).toBe(true)
@@ -424,6 +430,11 @@ describe('ProTree', () => {
})
expect(allNodes[1].find('.ix-tree-node-content-label-highlight').exists()).toBe(false)
+
+ await input.setValue('search text')
+
+ expect(onSearch).toBeCalledWith('search text')
+ expect(onUpdateSearch).toBeCalledWith('search text')
})
test('expandAll and collapseAll work', async () => {
diff --git a/packages/pro/tree/demo/Basic.vue b/packages/pro/tree/demo/Basic.vue
index dc5b319ec..8738bbeef 100644
--- a/packages/pro/tree/demo/Basic.vue
+++ b/packages/pro/tree/demo/Basic.vue
@@ -9,6 +9,7 @@
:style="{ height: '400px' }"
:checkable="true"
:dataSource="treeData"
+ :onSearch="onSearch"
>
@@ -26,7 +27,7 @@