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