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" >