Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(SearchSelect): 优化操作流程 #645

Merged
merged 609 commits into from Mar 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
609 commits
Select commit Hold shift + click to select a range
d7c1e7b
Merge branch 'master' of github.com:uiwjs/uiw
nullptr-z Mar 4, 2022
6a15dec
Merge branch 'master' of github.com:nullptr-z/uiw
nullptr-z Mar 4, 2022
ffb12da
style(SearchTree): 禁用样式无法撑满输入框问题 #611
nullptr-z Mar 4, 2022
c16e365
style(SearchSelect): 禁用样式无法撑满输入框问题
nullptr-z Mar 4, 2022
c4cf769
Merge branch 'master' of github.com:nullptr-z/uiw
nullptr-z Mar 4, 2022
995ceb1
style(DateInput):DateInput弹层被Modal弹层遮盖 #616
nullptr-z Mar 7, 2022
804124c
website(Layout): Fix example errors.
jaywcjlove Mar 4, 2022
8b78bc7
released-v4.13.6
actions-user Mar 4, 2022
70cf7cc
Merge branch 'master' of github.com:uiwjs/uiw
nullptr-z Mar 4, 2022
67781a7
Merge branch 'master' of github.com:uiwjs/uiw
nullptr-z Mar 4, 2022
b0da7c8
Merge branch 'master' of github.com:nullptr-z/uiw
nullptr-z Mar 4, 2022
44240cb
Merge branch 'master' of github.com:uiwjs/uiw
nullptr-z Mar 4, 2022
9b06668
Merge branch 'master' of github.com:uiwjs/uiw
nullptr-z Mar 4, 2022
c0f01bf
Merge branch 'master' of github.com:nullptr-z/uiw
nullptr-z Mar 4, 2022
11e859c
Merge branch 'master' of github.com:nullptr-z/uiw
nullptr-z Mar 7, 2022
b0f0226
feat(Tabs): 选项卡过多,超过宽度时,收缩超出部分
nullptr-z Mar 8, 2022
07751d9
fix:处理冲突
nullptr-z Mar 8, 2022
0126578
feat(Tabs): 选项卡过多,超过宽度时,收缩超出部分 #559 (#626)
nullptr-z Mar 8, 2022
c0f1d25
fix(SearchTree): 修复数字key为0导致无法选中问题
nullptr-z Mar 8, 2022
31e6355
fix:处理冲突
nullptr-z Mar 8, 2022
e147899
Merge branch 'master' of github.com:nullptr-z/uiw into HEAD
nullptr-z Mar 8, 2022
59a1a70
fix(Drawer): 修复层级问题,Dropdown被遮挡 #620
nullptr-z Mar 8, 2022
bf2e1bd
revert:撤销
nullptr-z Mar 8, 2022
fb9ceb4
fix(SearchTree): 修复数字key为0导致无法选中问题 #618 (#627)
nullptr-z Mar 8, 2022
5772939
chore(Form): Select 跟Input 在表单中使用,错误样式统一 #622 (#628)
cuilanxin Mar 8, 2022
a7e526c
fix(Drawer): 修复层级问题,Dropdown被遮挡 #620
nullptr-z Mar 8, 2022
05f3e74
Merge branch 'master' of github.com:uiwjs/uiw
nullptr-z Mar 8, 2022
45ea259
Merge branch 'master' of github.com:uiwjs/uiw
nullptr-z Mar 8, 2022
191801e
feat(SearchTree): 操作流程优化 #629 #631
nullptr-z Mar 8, 2022
d6cd344
Merge branch 'master' of github.com:nullptr-z/uiw
nullptr-z Mar 8, 2022
25be58b
chore: update workflows config.
jaywcjlove Feb 25, 2022
f2af0dd
chore: update workflows config.
jaywcjlove Feb 25, 2022
e4d23fe
chore: update workflows config.
jaywcjlove Feb 25, 2022
54b76bb
chore: update workflows config.
jaywcjlove Feb 25, 2022
e542436
chore: update workflows config.
jaywcjlove Feb 25, 2022
4667e0b
chore: update workflows config.
jaywcjlove Feb 25, 2022
db3ef74
chore: update workflows config.
jaywcjlove Feb 25, 2022
ad68ceb
chore: update workflows config.
jaywcjlove Feb 25, 2022
c4d0f18
chore: update workflows config.
jaywcjlove Feb 25, 2022
d1f6255
chore: update workflows config.
jaywcjlove Feb 25, 2022
5f36b9b
chore: update workflows config.
jaywcjlove Feb 25, 2022
a85151a
chore: update workflows config.
jaywcjlove Feb 25, 2022
c527151
chore: update workflows config.
jaywcjlove Feb 25, 2022
d4d04cd
chore: update workflows config.
jaywcjlove Feb 25, 2022
168f33b
chore: update workflows config.
jaywcjlove Feb 25, 2022
6120a78
chore: update workflows config.
jaywcjlove Feb 25, 2022
c138517
chore: update workflows config.
jaywcjlove Feb 25, 2022
dc6b641
chore: update workflows config.
jaywcjlove Feb 25, 2022
c9baac8
chore: update workflows config.
jaywcjlove Feb 25, 2022
83dde96
chore: update workflows config.
jaywcjlove Feb 25, 2022
32c3045
chore: update workflows config.
jaywcjlove Feb 25, 2022
e83243e
chore: update workflows config.
jaywcjlove Feb 25, 2022
2f43618
chore: update workflows config.
jaywcjlove Feb 25, 2022
37a5a83
chore: update workflows config.
jaywcjlove Feb 25, 2022
7947b28
chore: update workflows config.
jaywcjlove Feb 25, 2022
14e9b67
chore: update workflows config.
jaywcjlove Feb 25, 2022
77c0e6d
chore: update workflows config.
jaywcjlove Feb 25, 2022
02d09c0
chore: update workflows config.
jaywcjlove Feb 25, 2022
3f1cbee
chore: update workflows config.
jaywcjlove Feb 25, 2022
208d69d
chore: update workflows config.
jaywcjlove Feb 25, 2022
c6f57f1
chore: update workflows config.
jaywcjlove Feb 25, 2022
6f2a42f
chore: update workflows config.
jaywcjlove Feb 25, 2022
a9bc906
chore: update workflows config.
jaywcjlove Feb 25, 2022
af77182
chore: update workflows config.
jaywcjlove Feb 25, 2022
986d03f
chore: update workflows config.
jaywcjlove Feb 25, 2022
e7366de
chore: update workflows config.
jaywcjlove Feb 25, 2022
84a9f9c
chore: update workflows config.
jaywcjlove Feb 25, 2022
3072fa8
chore: update workflows config.
jaywcjlove Feb 25, 2022
d728f6a
chore: update workflows config.
jaywcjlove Feb 25, 2022
d000ebb
chore: update workflows config.
jaywcjlove Feb 25, 2022
9ce396d
chore: update workflows config.
jaywcjlove Feb 25, 2022
11d2314
chore: update workflows config.
jaywcjlove Feb 25, 2022
787907d
chore: update workflows config.
jaywcjlove Feb 25, 2022
20d7cd7
chore: update workflows config.
jaywcjlove Feb 25, 2022
510c9f6
chore: update workflows config.
jaywcjlove Feb 25, 2022
4388609
chore: update workflows config.
jaywcjlove Feb 25, 2022
185d2d3
chore: update workflows config.
jaywcjlove Feb 25, 2022
ffcfacb
chore: update workflows config.
jaywcjlove Feb 25, 2022
1a4dd9a
chore: update workflows config.
jaywcjlove Feb 25, 2022
0912113
chore: update workflows config.
jaywcjlove Feb 25, 2022
de043c0
chore: update workflows config.
jaywcjlove Feb 25, 2022
32639e4
chore: update workflows config.
jaywcjlove Feb 25, 2022
f525988
chore: update workflows config.
jaywcjlove Feb 25, 2022
7602f12
chore: update workflows config.
jaywcjlove Feb 25, 2022
d0ecfb2
chore: update workflows config.
jaywcjlove Feb 25, 2022
bd5c8f6
chore: update workflows config.
jaywcjlove Feb 25, 2022
8882666
chore: update workflows config.
jaywcjlove Feb 25, 2022
0cd679c
chore: update workflows config.
jaywcjlove Feb 25, 2022
c9f846f
chore: update workflows config.
jaywcjlove Feb 25, 2022
2ffb7c5
chore: update workflows config.
jaywcjlove Feb 25, 2022
3a7f958
chore: update workflows config.
jaywcjlove Feb 25, 2022
b936455
chore: update workflows config.
jaywcjlove Feb 25, 2022
60434b7
chore: update workflows config.
jaywcjlove Feb 25, 2022
388324b
chore: update workflows config.
jaywcjlove Feb 25, 2022
b0c3726
chore: update workflows config.
jaywcjlove Feb 25, 2022
b710f38
chore: update workflows config.
jaywcjlove Feb 25, 2022
ebfcf5b
chore: update workflows config.
jaywcjlove Feb 25, 2022
1837b3f
chore: update workflows config.
jaywcjlove Feb 25, 2022
5bf66ed
chore: update workflows config.
jaywcjlove Feb 25, 2022
4119d30
chore: update workflows config.
jaywcjlove Feb 25, 2022
b917736
chore: update workflows config.
jaywcjlove Feb 25, 2022
79fc797
chore: update workflows config.
jaywcjlove Feb 25, 2022
b275766
chore: update workflows config.
jaywcjlove Feb 25, 2022
00f9443
chore: update workflows config.
jaywcjlove Feb 25, 2022
2b081f6
chore: update workflows config.
jaywcjlove Feb 25, 2022
b65d597
chore: update workflows config.
jaywcjlove Feb 25, 2022
3d2c38f
chore: update workflows config.
jaywcjlove Feb 25, 2022
1a3dad0
chore: update workflows config.
jaywcjlove Feb 25, 2022
51827fa
chore: update workflows config.
jaywcjlove Feb 25, 2022
526df26
chore: update workflows config.
jaywcjlove Feb 25, 2022
8ae9074
chore: update workflows config.
jaywcjlove Feb 25, 2022
448181e
chore: update workflows config.
jaywcjlove Feb 25, 2022
83144a8
chore: update workflows config.
jaywcjlove Feb 25, 2022
42022a1
chore: update workflows config.
jaywcjlove Feb 25, 2022
5c742b0
chore: update workflows config.
jaywcjlove Feb 25, 2022
e03e7fa
chore: update workflows config.
jaywcjlove Feb 25, 2022
ef264fc
chore: update workflows config.
jaywcjlove Feb 25, 2022
6ff5338
chore: update workflows config.
jaywcjlove Feb 25, 2022
c63a027
chore: update workflows config.
jaywcjlove Feb 25, 2022
c2193f6
chore: update workflows config.
jaywcjlove Feb 25, 2022
c0c77fe
chore: update workflows config.
jaywcjlove Feb 25, 2022
ffa2e85
chore: update workflows config.
jaywcjlove Feb 25, 2022
79087a3
chore: update workflows config.
jaywcjlove Feb 25, 2022
48ee2bd
chore: update workflows config.
jaywcjlove Feb 25, 2022
c61cb2c
chore: update workflows config.
jaywcjlove Feb 25, 2022
de00013
chore: update workflows config.
jaywcjlove Feb 25, 2022
e74dd79
chore: update workflows config.
jaywcjlove Feb 25, 2022
864ab0b
chore: update workflows config.
jaywcjlove Feb 25, 2022
b00bdab
chore: update workflows config.
jaywcjlove Feb 25, 2022
c9fac2c
chore: update workflows config.
jaywcjlove Feb 25, 2022
393d666
chore: update workflows config.
jaywcjlove Feb 25, 2022
0017aa8
chore: update workflows config.
jaywcjlove Feb 25, 2022
ca1a3e9
chore: update workflows config.
jaywcjlove Feb 25, 2022
dd90725
chore: update workflows config.
jaywcjlove Feb 25, 2022
b3633b0
chore: update workflows config.
jaywcjlove Feb 25, 2022
078f163
chore: update workflows config.
jaywcjlove Feb 25, 2022
6df14ea
chore: update workflows config.
jaywcjlove Feb 25, 2022
0dacb63
chore: update workflows config.
jaywcjlove Feb 25, 2022
9c19ecd
chore: update workflows config.
jaywcjlove Feb 25, 2022
16fc885
chore: update workflows config.
jaywcjlove Feb 25, 2022
f3e9efb
chore: update workflows config.
jaywcjlove Feb 25, 2022
2a02bc4
chore: update workflows config.
jaywcjlove Feb 25, 2022
d746c34
chore: update workflows config.
jaywcjlove Feb 25, 2022
d5d7bf3
chore: update workflows config.
jaywcjlove Feb 25, 2022
106334b
chore: update workflows config.
jaywcjlove Feb 25, 2022
b3b0d5a
chore: update workflows config.
jaywcjlove Feb 25, 2022
5ba8840
chore: update workflows config.
jaywcjlove Feb 25, 2022
73585a2
chore: update workflows config.
jaywcjlove Feb 25, 2022
eeb9c39
chore: update workflows config.
jaywcjlove Feb 25, 2022
16e733b
chore: update workflows config.
jaywcjlove Feb 25, 2022
d8d334c
chore: update workflows config.
jaywcjlove Feb 25, 2022
c618dba
chore: update workflows config.
jaywcjlove Feb 25, 2022
8c2fdae
chore: update workflows config.
jaywcjlove Feb 25, 2022
1372782
chore: update workflows config.
jaywcjlove Feb 25, 2022
52f790b
chore: update workflows config.
jaywcjlove Feb 25, 2022
829fe5c
chore: update workflows config.
jaywcjlove Feb 25, 2022
9febbff
chore: update workflows config.
jaywcjlove Feb 25, 2022
9794158
chore: update workflows config.
jaywcjlove Feb 25, 2022
6527dc0
chore: update workflows config.
jaywcjlove Feb 25, 2022
5717afe
chore: update workflows config.
jaywcjlove Feb 25, 2022
472113e
chore: update workflows config.
jaywcjlove Feb 25, 2022
7b018d6
chore: update workflows config.
jaywcjlove Feb 25, 2022
afdde71
chore: update workflows config.
jaywcjlove Feb 25, 2022
786359c
chore: update workflows config.
jaywcjlove Feb 25, 2022
0138376
chore: update workflows config.
jaywcjlove Feb 25, 2022
3234426
chore: update workflows config.
jaywcjlove Feb 25, 2022
73d6657
chore: update workflows config.
jaywcjlove Feb 25, 2022
94c52eb
chore: update workflows config.
jaywcjlove Feb 25, 2022
80491a2
chore: update workflows config.
jaywcjlove Feb 25, 2022
730b78b
chore: update workflows config.
jaywcjlove Feb 25, 2022
a88bbe5
chore: update workflows config.
jaywcjlove Feb 25, 2022
e08fbb1
chore: update workflows config.
jaywcjlove Feb 25, 2022
bd24886
chore: update workflows config.
jaywcjlove Feb 25, 2022
8a9e362
chore: update workflows config.
jaywcjlove Feb 25, 2022
994e832
chore: update workflows config.
jaywcjlove Feb 25, 2022
d24b155
chore: update workflows config.
jaywcjlove Feb 25, 2022
5ee5014
chore: update workflows config.
jaywcjlove Feb 25, 2022
00dd89b
chore: update workflows config.
jaywcjlove Feb 25, 2022
df83735
chore: update workflows config.
jaywcjlove Feb 25, 2022
a87cc46
chore: update workflows config.
jaywcjlove Feb 25, 2022
80db60e
chore: update workflows config.
jaywcjlove Feb 25, 2022
d4f12e2
chore: update workflows config.
jaywcjlove Feb 25, 2022
eec83cb
chore: update workflows config.
jaywcjlove Feb 25, 2022
05d95bd
chore: update workflows config.
jaywcjlove Feb 25, 2022
4bb2f80
chore: update workflows config.
jaywcjlove Feb 25, 2022
794742a
chore: update workflows config.
jaywcjlove Feb 25, 2022
6b2bdbb
chore: update workflows config.
jaywcjlove Feb 25, 2022
429cbc2
chore: update workflows config.
jaywcjlove Feb 25, 2022
2de0a60
chore: update workflows config.
jaywcjlove Feb 25, 2022
5646547
chore: update workflows config.
jaywcjlove Feb 25, 2022
0c31d44
chore: update workflows config.
jaywcjlove Feb 25, 2022
8f0d57a
chore: update workflows config.
jaywcjlove Feb 25, 2022
be4a1ef
chore: update workflows config.
jaywcjlove Feb 25, 2022
b0da4a8
chore: update workflows config.
jaywcjlove Feb 25, 2022
a0c451d
chore: update workflows config.
jaywcjlove Feb 25, 2022
1262f0c
chore: update workflows config.
jaywcjlove Feb 25, 2022
4fe82d3
chore: update workflows config.
jaywcjlove Feb 25, 2022
98f2466
chore: update workflows config.
jaywcjlove Feb 25, 2022
417e15c
chore: update workflows config.
jaywcjlove Feb 25, 2022
0579d7c
chore: update workflows config.
jaywcjlove Feb 25, 2022
7a91877
chore: update workflows config.
jaywcjlove Feb 25, 2022
f935e17
chore: update workflows config.
jaywcjlove Feb 25, 2022
7489e55
chore: update workflows config.
jaywcjlove Feb 25, 2022
70b1822
chore: update workflows config.
jaywcjlove Feb 25, 2022
6bbcca7
chore: update workflows config.
jaywcjlove Feb 25, 2022
f831b66
chore: update workflows config.
jaywcjlove Feb 25, 2022
9ef151d
chore: update workflows config.
jaywcjlove Feb 25, 2022
6c55d40
chore: update workflows config.
jaywcjlove Feb 25, 2022
2723b9e
chore: update workflows config.
jaywcjlove Feb 25, 2022
a878dc4
chore: update workflows config.
jaywcjlove Feb 25, 2022
ef0a14e
chore: update workflows config.
jaywcjlove Feb 25, 2022
83f4038
chore: update workflows config.
jaywcjlove Feb 25, 2022
b10d4c0
chore: update workflows config.
jaywcjlove Feb 25, 2022
231b12f
chore: update workflows config.
jaywcjlove Feb 25, 2022
fb347fb
chore: update workflows config.
jaywcjlove Feb 25, 2022
76fa6b8
chore: update workflows config.
jaywcjlove Feb 25, 2022
c80a5f5
chore: update workflows config.
jaywcjlove Feb 25, 2022
60e6943
chore: update workflows config.
jaywcjlove Feb 25, 2022
4b90347
chore: update workflows config.
jaywcjlove Feb 25, 2022
fdd5ef5
chore: update workflows config.
jaywcjlove Feb 25, 2022
86e52a2
chore: update workflows config.
jaywcjlove Feb 25, 2022
5514810
chore: update workflows config.
jaywcjlove Feb 25, 2022
2943c9c
docs(SearchTree): 文档整理
nullptr-z Mar 2, 2022
4a0d5e9
doc(Tag): 修复文档示例错误 (#599)
gssggssg Mar 3, 2022
1a32f2c
Revert "doc(Tag): 修复文档示例错误 (#599)" (#600)
jaywcjlove Mar 3, 2022
f9c79d0
doc(Tag): 修复文档示例错误 (#599)
gssggssg Mar 3, 2022
1bca790
Revert "doc(Tag): 修复文档示例错误 (#599)" (#600)
jaywcjlove Mar 3, 2022
34558b5
暂存
nullptr-z Mar 3, 2022
a54ba32
clean:无效代码
nullptr-z Mar 4, 2022
f2cbada
feat(Tabs): 选项卡过多,超过宽度时,收缩超出部分 #559 (#626)
nullptr-z Mar 8, 2022
58f0273
fix(SearchTree): 修复数字key为0导致无法选中问题
nullptr-z Mar 8, 2022
31d7d3e
fix(Drawer): 修复层级问题,Dropdown被遮挡 #620
nullptr-z Mar 8, 2022
a879cfd
revert:撤销
nullptr-z Mar 8, 2022
d342a3a
fix(Drawer): 修复层级问题,Dropdown被遮挡 #620
nullptr-z Mar 8, 2022
0188387
feat(SearchTree): 操作流程优化 #629 #631
nullptr-z Mar 8, 2022
f8826bd
chore(Form): Select 跟Input 在表单中使用,错误样式统一 #622 (#628)
cuilanxin Mar 8, 2022
11ba558
Merge branch 'master' of github.com:nullptr-z/uiw
nullptr-z Mar 8, 2022
fd0a096
fix react-search-tree: remove remark
nullptr-z Mar 8, 2022
2abc44b
merge code & fix conflict
nullptr-z Mar 8, 2022
d1d871c
style(Tabs): 收缩菜单优化
nullptr-z Mar 9, 2022
93c7d8b
Merge branch 'master' of github.com:uiwjs/uiw
nullptr-z Mar 9, 2022
e4ca65a
clean:删除调试代码
nullptr-z Mar 9, 2022
a0729dd
chore: 更改'提交问题'链接地址
nullptr-z Mar 9, 2022
7b2322e
Merge branch 'master' of github.com:uiwjs/uiw
nullptr-z Mar 9, 2022
5310ac1
fix(SearchSelect): 修复单选模式无法显示初始lable问题 & 文档补全
nullptr-z Mar 9, 2022
b4fbc94
feat(SearchSelect): 和SearchTree统一操作流程
nullptr-z Mar 9, 2022
68ff63b
Merge branch 'master' of github.com:uiwjs/uiw
nullptr-z Mar 9, 2022
ffdac73
fix(SearchSelect): 修复单选模式无法显示初始lable问题 & 文档补全
nullptr-z Mar 9, 2022
c23780d
feat(SearchSelect): 和SearchTree统一操作流程
nullptr-z Mar 9, 2022
8fabe48
Merge branch 'master' of github.com:nullptr-z/uiw
nullptr-z Mar 9, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
127 changes: 94 additions & 33 deletions packages/react-search-select/README.md
Expand Up @@ -8,7 +8,7 @@ SearchSelect 搜索选择器
搜索选择器

```jsx
import { SearchSelect } from 'uiw';
import { SearchSelect, Row ,Col } from 'uiw';
// or
import SearchSelect from '@uiw/react-search-select';
```
Expand All @@ -18,7 +18,7 @@ import SearchSelect from '@uiw/react-search-select';
<!--rehype:bgWhite=true&codeSandbox=true&codePen=true-->
```jsx
import ReactDOM from 'react-dom';
import { SearchSelect } from 'uiw';
import { SearchSelect,Row,Col } from 'uiw';

const Demo = () => {
const selectOption=[
Expand All @@ -34,34 +34,63 @@ const Demo = () => {

const [option, setOption] = React.useState(selectOption);
const [loading, setLoading] = React.useState(false);
const [value, setValue] = React.useState([{label: 'a8', value: 8}]);
const [values, setValues] = React.useState([{label: 'a7', value: 7},{label: 'a8', value: 8}]);
const [value, setValue] = React.useState([{label: 'a7', value: 7}]);

function handleSearch(e) {
setLoading(true)
setTimeout(() => {
setOption();
const filterOpion= selectOption.filter(item=>!!item.label.includes(e.trim()))
setOption([...filterOpion]);
setLoading(false);
}, 2000);
}, 500);
}

return(
<SearchSelect
mode="multiple"
style={{ width: 176 }}
showSearch={true}
labelInValue={true}
maxTagCount={6}
allowClear
value={value}
disabled={false}
placeholder="请输入选择"
onSearch={handleSearch}
// onSelect={(value)=>console.log('onSelect',value)}
loading={loading}
option={option}
onChange={(value) => {
console.log('value',value)
setValue(value)
}}
/>
<Row gutter={20}>
<Row>
<SearchSelect
mode="multiple"
style={{ width: 176 }}
showSearch={true}
labelInValue={true}
maxTagCount={6}
allowClear
value={values}
disabled={false}
placeholder="请输入选择"
onSearch={handleSearch}
// onSelect={(value)=>console.log('onSelect',value)}
loading={loading}
option={option}
onChange={(value) => {
console.log('value', value)
setValues(value)
}}
/>
</Row>
<Row>
<SearchSelect
mode="single"
style={{ width: 176 }}
showSearch={true}
labelInValue={true}
maxTagCount={6}
allowClear
value={value}
disabled={false}
placeholder="请输入选择"
onSearch={handleSearch}
// onSelect={(value)=>console.log('onSelect',value)}
loading={loading}
option={option}
onChange={(value) => {
console.log('value', value)
setValue(value)
}}
/>
</Row>
</Row>
);
};
ReactDOM.render(<Demo />, _mount_);
Expand All @@ -77,19 +106,26 @@ import ReactDOM from 'react-dom';
import { Form, Row, Col, SearchSelect, Button, Notify } from 'uiw';

const Demo = () => {
const [option, setOption] = React.useState([]);
const selectOption =[
{ label: 'a1', value: 1 },
{ label: 'a2', value: 2 },
{ label: 'a3', value: 3 },
{ label: 'a4', value: 4 },
{ label: 'a5', value: 5 },
{ label: 'a6', value: 6 },
{ label: 'a7', value: 7 },
{ label: 'a8', value: 8 },
];
const [option, setOption] = React.useState(selectOption);
const [loading, setLoading] = React.useState(false);

function handleSearch(e) {
console.log('handleSearch',e)
setLoading(true)
setTimeout(() => {
setOption([
{ label: 'a', value: 2 },
{ label: 'aa', value: 3 },
{ label: 'aaa', value: 4 },
]);
const filterOpion= selectOption.filter(item=>!!item.label.includes(e.trim()))
setOption([...filterOpion]);
setLoading(false);
}, 2000);
}, 500);
}

return (
Expand Down Expand Up @@ -119,8 +155,30 @@ const Demo = () => {
}}
fields={{
selectField: {
initialValue:[{label: 'a7', value: 7},{label: 'a8', value: 8}],
children: (
<SearchSelect
allowClear
labelInValue={true}
showSearch={true}
mode="multiple"
disabled={false}
placeholder="请输入选择"
onSearch={handleSearch}
onChange={(v)=>{
console.log('onChange',v)
}}
option={option}
loading={loading}
/>
)
},
selectSingle: {
initialValue:[{label: 'a7', value: 7}],
children: (
<SearchSelect
mode="single"
labelInValue={true}
showSearch={true}
allowClear
disabled={false}
Expand All @@ -139,9 +197,12 @@ const Demo = () => {
{({ fields, state, canSubmit }) => {
return (
<div>
<Row>
<Row gutter={20}>
<Col fixed>{fields.selectField}</Col>
</Row>
<Row gutter={20}>
<Col fixed>{fields.selectSingle}</Col>
</Row>
<Row>
<Col fixed>
<Button disabled={!canSubmit()} type="primary" htmlType="submit">提交</Button>
Expand Down
23 changes: 15 additions & 8 deletions packages/react-search-select/src/index.tsx
Expand Up @@ -63,7 +63,7 @@ export default function SearchSelect(props: SearchSelectProps) {
const isMultiple = useMemo(() => mode === 'multiple', [mode]);
const [innerIsOpen, setInnerIsOpen] = useState(false);
const [selectedValue, setSelectedValue] = useState<Array<SearchSelectOptionData>>([]);
const [selectedLabel, setSelectedLabel] = useState('');
const [selectedLabel, setSelectedLabel] = useState<string>('');
const [selectIconType, setSelectIconType] = useState('');
const omitTagCount = useMemo(
() => (maxTagCount && selectedValue.length > maxTagCount ? selectedValue.length - maxTagCount : 0),
Expand Down Expand Up @@ -95,7 +95,6 @@ export default function SearchSelect(props: SearchSelectProps) {
changeValue: ValueType | Array<ValueType> | SearchSelectOptionData | Array<SearchSelectOptionData>,
) {
let opts: Array<SearchSelectOptionData> = [];

if (labelInValue) {
if (Array.isArray(changeValue)) {
opts = changeValue as Array<SearchSelectOptionData>;
Expand All @@ -113,6 +112,8 @@ export default function SearchSelect(props: SearchSelectProps) {
}
}
}

if (!isMultiple && opts.length > 0) setSelectedLabel(opts[0].label || '');
setSelectedValue(opts);
}

Expand All @@ -138,6 +139,7 @@ export default function SearchSelect(props: SearchSelectProps) {
}

function handleChange(resultValue: ValueType | Array<ValueType>, values: SearchSelectOptionData[]) {
setSelectedLabel('');
onSelect && onSelect(resultValue);
handleSelectChange(resultValue, values); // 支持form组件

Expand All @@ -157,7 +159,7 @@ export default function SearchSelect(props: SearchSelectProps) {
// handle change
function handleInputChange(e: React.ChangeEvent<HTMLInputElement>) {
const value = e.target.value;
setInnerIsOpen(!!value);
setInnerIsOpen(true);
setSelectedLabel(value);
setSelectIconType(showSearch && value ? 'loading' : '');
showSearch && onSearch && onSearch(value);
Expand All @@ -183,17 +185,22 @@ export default function SearchSelect(props: SearchSelectProps) {
}
}

function onVisibleChange(open: boolean) {
if (!open) setSelectedLabel('');
if (!isMultiple && selectedValue.length > 0) {
setSelectedLabel(selectedValue[0].label);
}
setInnerIsOpen(open);
}

return (
<Dropdown
className={cls}
trigger="focus"
trigger="click"
style={{ marginTop: 5 }}
disabled={option && option.length > 0 ? false : true}
{...others}
onVisibleChange={(open) => {
if (!open && isMultiple) setSelectedLabel('');
setInnerIsOpen(open);
}}
onVisibleChange={onVisibleChange}
isOpen={innerIsOpen}
menu={
<Menu
Expand Down