@alicloud/console-components-search 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +104 -138
- package/demos/demo1.demo.tsx +91 -94
- package/doc-dist/0.js +1917 -16
- package/doc-dist/1.js +16 -1917
- package/doc-dist/10.js +1 -1
- package/doc-dist/11.js +1 -1
- package/doc-dist/12.js +1 -1
- package/doc-dist/13.js +1 -1
- package/doc-dist/14.js +1 -1
- package/doc-dist/15.js +1 -1
- package/doc-dist/3.js +5 -5
- package/doc-dist/4.js +1 -1
- package/doc-dist/5.js +2 -2
- package/doc-dist/6.js +1 -1
- package/doc-dist/7.js +1 -1
- package/doc-dist/8.js +1 -1
- package/doc-dist/9.js +1 -1
- package/doc-dist/deps/main.css +1 -1
- package/doc-dist/deps/main.js +8 -8
- package/doc-dist/deps/main.os.css +1 -1
- package/doc-dist/index.js +3 -3
- package/doc-dist/log-deps-build.log +1 -1
- package/es/index.js +1 -1
- package/es/modeSingleSingle/InputPrefix.js +29 -0
- package/es/modeSingleSingle/index2.js +342 -0
- package/es/search.js +2 -3
- package/es/searchTagList/index.js +5 -10
- package/es/style.js +1 -1
- package/es/useCssVar.js +38 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/modeSingleSingle/InputPrefix.d.ts +2 -0
- package/lib/modeSingleSingle/InputPrefix.js +43 -0
- package/lib/modeSingleSingle/index2.d.ts +4 -0
- package/lib/modeSingleSingle/index2.js +372 -0
- package/lib/search.js +2 -4
- package/lib/searchTagList/index.d.ts +3 -1
- package/lib/searchTagList/index.js +5 -11
- package/lib/style.js +1 -1
- package/lib/types/IRcSearchOptions.type.d.ts +3 -2
- package/lib/types/IRcSearchProps.type.d.ts +24 -34
- package/lib/types/IRcSearchTagItemProps.type.d.ts +1 -1
- package/lib/types/IRcSearchTagListProps.type.d.ts +3 -3
- package/lib/useCssVar.d.ts +1 -0
- package/lib/useCssVar.js +52 -0
- package/package.json +3 -2
- package/demos/demo2.demo.tsx +0 -83
- package/demos/demo3.demo.tsx +0 -87
- package/demos/demo4.demo.tsx +0 -142
- package/dist/index.css +0 -1
- package/dist/index.js +0 -60
- package/doc-dist/16.js +0 -6
- package/doc-dist/17.js +0 -6
- package/doc-dist/18.js +0 -6
- package/doc-dist/19.js +0 -6
- package/doc-dist/20.js +0 -6
- package/docs/markdown-render.doc.md +0 -21
- package/docs/test.doc.md +0 -8
- package/es/modeSingleMulti/index.js +0 -825
- package/es/modeSingleSingle/index.js +0 -217
- package/lib/modeSingleMulti/index.d.ts +0 -2
- package/lib/modeSingleMulti/index.js +0 -850
- package/lib/modeSingleSingle/index.d.ts +0 -2
- package/lib/modeSingleSingle/index.js +0 -242
package/README.md
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
# @alicloud/console-components-search
|
|
2
2
|
|
|
3
3
|
基础搜索组件: 当前控制台的基础搜索主要针对列表页的搜索场景,此次基础搜索组件主要通过一个简约通用的框架满足控制台针对列表页不同场景下的搜索需求
|
|
4
|
-
按照使用场景分为三种使用场景
|
|
5
|
-
- 场景一:单维度单类别单选 (eg:该功能模块下只支持“实例名称”这唯一类别的搜索);
|
|
6
|
-
- 场景二:单维度多类别单选(eg:该功能模块下只支持“实例名称”这唯一类别的搜索网络类型包括多个子类别);
|
|
7
|
-
- 场景三:多维度多类别(eg:该功能模块下支持“网络类型”这一类别和其他同等类别的交集搜索);
|
|
8
|
-
|
|
9
|
-
### SearchTagList
|
|
10
|
-
场景二、三需结合SearchTagList使用, SearchTagList用与展示Search已选的筛选条件(以tag的形式),分成两个组件可以更灵活的定位SearchTagList的位置(比如表格场景)
|
|
11
|
-
|
|
12
4
|
## install
|
|
13
5
|
|
|
14
6
|
```bash
|
|
@@ -18,20 +10,66 @@ tnpm i @alicloud/xconsole-components-search --save-dev
|
|
|
18
10
|
## Usage
|
|
19
11
|
|
|
20
12
|
```js
|
|
21
|
-
|
|
22
|
-
|
|
13
|
+
/**
|
|
14
|
+
* @title 场景1
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import React from "react";
|
|
18
|
+
import { Search } from "@alicloud/console-components-search";
|
|
19
|
+
|
|
20
|
+
let options = [
|
|
23
21
|
{
|
|
24
22
|
label: '实例名称',
|
|
25
23
|
dataIndex: 'name',
|
|
26
24
|
template: 'input',
|
|
27
25
|
templateProps: {
|
|
28
|
-
placeholder: '
|
|
26
|
+
placeholder: '按实例名称搜索',
|
|
29
27
|
dataSource: []
|
|
30
|
-
}
|
|
28
|
+
},
|
|
29
|
+
groupName:"test"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
label: '网络类型',
|
|
33
|
+
dataIndex: 'type',
|
|
34
|
+
template: 'select',
|
|
35
|
+
templateProps: {
|
|
36
|
+
placeholder: '请选择网络类型',
|
|
37
|
+
dataSource: [
|
|
38
|
+
{label: 'A', value: 'a'},
|
|
39
|
+
{label: 'B', value: 'b'},
|
|
40
|
+
{label: 'C', value: 'c'},
|
|
41
|
+
{label: 'D', value: 'd'},
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
groupName:"test"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
label: '付费类型',
|
|
48
|
+
dataIndex: 'pay',
|
|
49
|
+
template: 'multiple',
|
|
50
|
+
templateProps: {
|
|
51
|
+
placeholder: '请选择付费类型',
|
|
52
|
+
dataSource: [
|
|
53
|
+
{label: 'A', value: 'a'},
|
|
54
|
+
{label: 'B', value: 'b'},
|
|
55
|
+
{label: 'C', value: 'c'},
|
|
56
|
+
{label: 'D', value: 'd'},
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
groupName:"test2"
|
|
31
60
|
}
|
|
32
61
|
]
|
|
33
62
|
|
|
34
63
|
let options2 = [
|
|
64
|
+
{
|
|
65
|
+
label: '实例名称',
|
|
66
|
+
dataIndex: 'name',
|
|
67
|
+
template: 'input',
|
|
68
|
+
templateProps: {
|
|
69
|
+
placeholder: '按实例名称搜索',
|
|
70
|
+
dataSource: []
|
|
71
|
+
},
|
|
72
|
+
},
|
|
35
73
|
{
|
|
36
74
|
label: '网络类型',
|
|
37
75
|
dataIndex: 'type',
|
|
@@ -44,150 +82,78 @@ let options2 = [
|
|
|
44
82
|
{label: 'C', value: 'c'},
|
|
45
83
|
{label: 'D', value: 'd'},
|
|
46
84
|
]
|
|
47
|
-
}
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
label: '付费类型',
|
|
89
|
+
dataIndex: 'pay',
|
|
90
|
+
template: 'multiple',
|
|
91
|
+
templateProps: {
|
|
92
|
+
placeholder: '请选择付费类型',
|
|
93
|
+
dataSource: [
|
|
94
|
+
{label: 'A', value: 'a'},
|
|
95
|
+
{label: 'B', value: 'b'},
|
|
96
|
+
{label: 'C', value: 'c'},
|
|
97
|
+
{label: 'D', value: 'd'},
|
|
98
|
+
]
|
|
99
|
+
},
|
|
48
100
|
}
|
|
49
101
|
]
|
|
50
|
-
async function onSuggestAsync (value: string, dataIndex: string) {
|
|
51
|
-
if (!value) {
|
|
52
|
-
return [];
|
|
53
|
-
}
|
|
54
|
-
return [
|
|
55
|
-
// {label: value, value: `${dataIndex}-${value}`}
|
|
56
|
-
`${value}-1`,
|
|
57
|
-
`${value}-2`,
|
|
58
|
-
`${value}-3`,
|
|
59
|
-
`${value}-4`,
|
|
60
|
-
`${value}-5`,
|
|
61
|
-
]
|
|
62
|
-
}
|
|
63
|
-
function onSuggestPromise (value: string, dataIndex: string) {
|
|
64
|
-
let rtList = [];
|
|
65
|
-
if (!value) {
|
|
66
|
-
rtList = [];
|
|
67
|
-
}
|
|
68
|
-
rtList = [
|
|
69
|
-
// {label: value, value: `${dataIndex}-${value}`}
|
|
70
|
-
`${value}-1`,
|
|
71
|
-
`${value}-2`,
|
|
72
|
-
`${value}-3`,
|
|
73
|
-
`${value}-4`,
|
|
74
|
-
`${value}-5`,
|
|
75
|
-
]
|
|
76
|
-
return Promise.resolve(rtList)
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
async function onChange1 (changedFileds:any, allFileds:any) {
|
|
80
|
-
console.log(`changedFileds:`, changedFileds, 'allFileds', allFileds)
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
async function onSearch (allFileds:any) {
|
|
84
|
-
console.log(`onSearch:`, 'allFileds', allFileds)
|
|
85
|
-
alert(`提交搜索: ${JSON.stringify(allFileds)}`)
|
|
86
|
-
}
|
|
87
|
-
<div>
|
|
88
|
-
搜索类型:(async 调用)<br />
|
|
89
|
-
<Search
|
|
90
|
-
mode="single-single"
|
|
91
|
-
regionId="demo"
|
|
92
|
-
resourceType="demo"
|
|
93
|
-
options={options}
|
|
94
|
-
onSuggest={onSuggestAsync}
|
|
95
|
-
onChange={onChange1}
|
|
96
|
-
onSearch={onSearch}
|
|
97
|
-
/>
|
|
98
|
-
<br /><br /><br /> 搜索类型:(promise调用)<br />
|
|
99
|
-
<Search
|
|
100
|
-
mode="single-single"
|
|
101
|
-
regionId="demo"
|
|
102
|
-
resourceType="demo"
|
|
103
|
-
options={options}
|
|
104
|
-
onSuggest={onSuggestPromise}
|
|
105
|
-
onChange={onChange1}
|
|
106
|
-
onSearch={onSearch}
|
|
107
|
-
/>
|
|
108
|
-
<br /><br /><br /> 单选类型:<br />
|
|
109
|
-
<Search
|
|
110
|
-
mode="single-single"
|
|
111
|
-
regionId="demo"
|
|
112
|
-
resourceType="demo"
|
|
113
|
-
options={options2}
|
|
114
|
-
onChange={onChange1}
|
|
115
|
-
onSearch={onSearch}
|
|
116
|
-
/>
|
|
117
|
-
<br /> 单维度单类别,暂不支持多选
|
|
118
|
-
</div>
|
|
119
102
|
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## 使用场景
|
|
123
|
-
|
|
124
|
-
### 场景一:单维度单类别单选 (eg:该功能模块下只支持“实例名称”这唯一类别的搜索);
|
|
125
|
-
|
|
126
|
-
1、用户点击输入框直接输入要搜索的内容;<br>
|
|
127
|
-
2、场景一只提供‘input’类型和‘select’类型;<br>
|
|
128
|
-
3、模糊搜索的回调函数支持async 和 promise 调用;<br>
|
|
129
|
-
|
|
130
|
-
[$XView](http://localhost:3333/?entryKey=demo1&consoleOSId=console-fe-test-rc-search-doc)
|
|
131
|
-
|
|
132
|
-
> 场景一的已选值在基础搜索组件上展示, 无需引用“searchTagList”组件
|
|
133
|
-
<br>
|
|
134
103
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
<
|
|
151
|
-
|
|
152
|
-
|
|
104
|
+
const Demo1: React.FC<{}> = (props) => {
|
|
105
|
+
|
|
106
|
+
return (
|
|
107
|
+
<div>
|
|
108
|
+
<Search
|
|
109
|
+
defaultDataIndex="name"
|
|
110
|
+
options={options2}
|
|
111
|
+
onSearch={(value, dataIndex) => {
|
|
112
|
+
console.log(value, dataIndex)
|
|
113
|
+
}}
|
|
114
|
+
suggestions={[{label: '实例名称', children: ['222222']}, '33333333']}
|
|
115
|
+
/>
|
|
116
|
+
<br/><br/>
|
|
117
|
+
|
|
118
|
+
<div>搜索条件成组</div>
|
|
119
|
+
<Search
|
|
120
|
+
defaultDataIndex="name"
|
|
121
|
+
options={options}
|
|
122
|
+
onSearch={(value, dataIndex) => {
|
|
123
|
+
console.log(value, dataIndex)
|
|
124
|
+
}}
|
|
125
|
+
suggestions={[{label: '实例名称', children: ['222222']}, '33333333']}
|
|
126
|
+
/>
|
|
127
|
+
</div>
|
|
128
|
+
);
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
export default Demo1;
|
|
132
|
+
|
|
133
|
+
```
|
|
153
134
|
|
|
154
|
-
|
|
155
|
-
2、筛选条件区域的Tag直接被替换;用户选择不同类别会<br>
|
|
156
|
-
3、生成新的筛选Tag出现在筛选区<br>
|
|
135
|
+
## Demo
|
|
157
136
|
|
|
158
|
-
[$XView](http://localhost:3333/?entryKey=demo3&consoleOSId=console-fe-test-rc-search-doc)
|
|
159
137
|
|
|
160
|
-
|
|
138
|
+
[$XView](https://xconsole.aliyun-inc.com/demo-playground?consoleOSId=console-fe-test-rc-search-doc&servePath=https%3A%2F%2Fopensource-microapp.oss-cn-hangzhou.aliyuncs.com%2Fapp%2Fbreezr-docs%2Fconsole-fe-test-rc-search-doc%2F-latest%2F&entryKey=demo1 )
|
|
161
139
|
|
|
162
140
|
<br>
|
|
163
141
|
|
|
164
|
-
### 无默认分类, 默认多类别搜索;
|
|
165
|
-
|
|
166
|
-
1、当开发者没有指定默认类别且用户没有选择类别的时候;<br>
|
|
167
|
-
2、模糊搜索的回调函数将使用onSuggestNoDataIndex,返回<br>
|
|
168
|
-
3、开发者可返回多组类别的模糊搜索结果
|
|
169
|
-
[$XView](http://localhost:3333/?entryKey=demo4&consoleOSId=console-fe-test-rc-search-doc)
|
|
170
|
-
|
|
171
|
-
|
|
172
142
|
## API
|
|
173
143
|
|
|
174
|
-
|
|
144
|
+
### rc-search
|
|
175
145
|
|
|
176
146
|
基础搜索组件的参数
|
|
177
|
-
[$XView](
|
|
147
|
+
[$XView](https://xconsole.aliyun-inc.com/demo-playground?servePath=https%3A%2F%2Fopensource-microapp.oss-cn-hangzhou.aliyuncs.com%2Fapp%2Fbreezr-docs%2Fconsole-fe-test-rc-search-doc%2F-latest%2F&consoleOSId=console-fe-test-rc-search-doc&entryKey=types%2FIRcSearchProps)
|
|
178
148
|
|
|
179
|
-
|
|
149
|
+
### options
|
|
180
150
|
|
|
181
151
|
配置组件类别的options
|
|
182
152
|
[$XView](http://localhost:3333/?entryKey=types%2FIRcSearchOptions&consoleOSId=console-fe-test-rc-search-doc)
|
|
153
|
+
### SearchFilter
|
|
183
154
|
|
|
184
|
-
## tags
|
|
185
|
-
|
|
186
|
-
场景二、三, 需要与SearchTagList共同使用时的参数
|
|
187
|
-
[$XView](http://localhost:3333/?entryKey=types%2FIRcSearchTagItemProps&consoleOSId=console-fe-test-rc-search-doc)
|
|
188
|
-
|
|
189
|
-
## SearchTagList
|
|
190
|
-
|
|
191
|
-
场景二、三, 需要与Search共同使用时的参数
|
|
192
155
|
[$XView](http://localhost:3333/?entryKey=types%2FIRcSearchTagListProps&consoleOSId=console-fe-test-rc-search-doc)
|
|
193
156
|
|
|
157
|
+
## IRcSearchTagItemProps
|
|
158
|
+
|
|
159
|
+
[$XView](http://localhost:3333/?entryKey=types%2FIRcSearchTagItemProps&consoleOSId=console-fe-test-rc-search-doc)
|
package/demos/demo1.demo.tsx
CHANGED
|
@@ -1,39 +1,64 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @title
|
|
3
|
-
* @describe 场景一:single-single:单维度单类别单选.
|
|
2
|
+
* @title 场景1
|
|
4
3
|
*/
|
|
5
4
|
|
|
6
5
|
import React from "react";
|
|
7
|
-
import { Search,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
let options = [
|
|
6
|
+
import { Search, SearchFilter } from "@alicloud/console-components-search";
|
|
7
|
+
import { useState } from "react";
|
|
8
|
+
|
|
9
|
+
let options = [
|
|
12
10
|
{
|
|
13
11
|
label: '实例名称',
|
|
14
12
|
dataIndex: 'name',
|
|
15
13
|
template: 'input',
|
|
16
14
|
templateProps: {
|
|
17
|
-
placeholder: '
|
|
15
|
+
placeholder: '按实例名称搜索',
|
|
18
16
|
dataSource: []
|
|
19
|
-
}
|
|
17
|
+
},
|
|
18
|
+
groupName:"test"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
label: '网络类型',
|
|
22
|
+
dataIndex: 'type',
|
|
23
|
+
template: 'select',
|
|
24
|
+
templateProps: {
|
|
25
|
+
placeholder: '请选择网络类型',
|
|
26
|
+
dataSource: [
|
|
27
|
+
{label: 'A', value: 'a'},
|
|
28
|
+
{label: 'B', value: 'b'},
|
|
29
|
+
{label: 'C', value: 'c'},
|
|
30
|
+
{label: 'D', value: 'd'},
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
groupName:"test"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
label: '付费类型',
|
|
37
|
+
dataIndex: 'pay',
|
|
38
|
+
template: 'multiple',
|
|
39
|
+
templateProps: {
|
|
40
|
+
placeholder: '请选择付费类型',
|
|
41
|
+
dataSource: [
|
|
42
|
+
{label: 'A', value: 'a'},
|
|
43
|
+
{label: 'B', value: 'b'},
|
|
44
|
+
{label: 'C', value: 'c'},
|
|
45
|
+
{label: 'D', value: 'd'},
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
groupName:"test2"
|
|
20
49
|
}
|
|
21
50
|
]
|
|
22
51
|
|
|
23
|
-
let
|
|
52
|
+
let options2 = [
|
|
24
53
|
{
|
|
25
54
|
label: '实例名称',
|
|
26
55
|
dataIndex: 'name',
|
|
27
56
|
template: 'input',
|
|
28
57
|
templateProps: {
|
|
29
|
-
placeholder: '
|
|
30
|
-
dataSource: []
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
]
|
|
35
|
-
|
|
36
|
-
let options2 = [
|
|
58
|
+
placeholder: '按实例名称搜索',
|
|
59
|
+
dataSource: []
|
|
60
|
+
},
|
|
61
|
+
},
|
|
37
62
|
{
|
|
38
63
|
label: '网络类型',
|
|
39
64
|
dataIndex: 'type',
|
|
@@ -46,90 +71,62 @@ let options2 = [
|
|
|
46
71
|
{label: 'C', value: 'c'},
|
|
47
72
|
{label: 'D', value: 'd'},
|
|
48
73
|
]
|
|
49
|
-
}
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
label: '付费类型',
|
|
78
|
+
dataIndex: 'pay',
|
|
79
|
+
template: 'multiple',
|
|
80
|
+
templateProps: {
|
|
81
|
+
placeholder: '请选择付费类型',
|
|
82
|
+
dataSource: [
|
|
83
|
+
{label: 'A', value: 'a'},
|
|
84
|
+
{label: 'B', value: 'b'},
|
|
85
|
+
{label: 'C', value: 'c'},
|
|
86
|
+
{label: 'D', value: 'd'},
|
|
87
|
+
]
|
|
88
|
+
},
|
|
50
89
|
}
|
|
51
90
|
]
|
|
52
91
|
|
|
53
|
-
const Demo1: React.FC<IRcSearchProps> = (props) => {
|
|
54
|
-
|
|
55
|
-
async function onSuggestAsync (value: string, dataIndex: string) {
|
|
56
|
-
if (!value) {
|
|
57
|
-
return [];
|
|
58
|
-
}
|
|
59
|
-
return [
|
|
60
|
-
// {label: value, value: `${dataIndex}-${value}`}
|
|
61
|
-
`${value}-1`,
|
|
62
|
-
`${value}-2`,
|
|
63
|
-
`${value}-3`,
|
|
64
|
-
`${value}-4`,
|
|
65
|
-
`${value}-5`,
|
|
66
|
-
]
|
|
67
|
-
}
|
|
68
|
-
function onSuggestPromise (value: string, dataIndex: string) {
|
|
69
|
-
let rtList = [];
|
|
70
|
-
if (!value) {
|
|
71
|
-
rtList = [];
|
|
72
|
-
}
|
|
73
|
-
rtList = [
|
|
74
|
-
// {label: value, value: `${dataIndex}-${value}`}
|
|
75
|
-
`${value}-1`,
|
|
76
|
-
`${value}-2`,
|
|
77
|
-
`${value}-3`,
|
|
78
|
-
`${value}-4`,
|
|
79
|
-
`${value}-5`,
|
|
80
|
-
]
|
|
81
|
-
return Promise.resolve(rtList)
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
async function onChange1 (changedFileds:any, allFileds:any) {
|
|
85
|
-
console.log(`changedFileds:`, changedFileds, 'allFileds', allFileds)
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
async function onSearch (allFileds:any) {
|
|
89
|
-
alert(JSON.stringify(allFileds))
|
|
90
|
-
}
|
|
91
92
|
|
|
92
|
-
|
|
93
|
+
const Demo1: React.FC<{}> = (props) => {
|
|
94
|
+
const [filters, setFilters] = useState([]);
|
|
95
|
+
console.log(filters)
|
|
96
|
+
return (
|
|
93
97
|
<div>
|
|
94
|
-
搜索类型:(async 调用)<br />
|
|
95
98
|
<Search
|
|
96
|
-
|
|
97
|
-
options={
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
defaultDataIndex="name"
|
|
100
|
+
options={options2}
|
|
101
|
+
onSearch={(value, dataIndex) => {
|
|
102
|
+
console.log(value, dataIndex)
|
|
103
|
+
}}
|
|
104
|
+
suggestions={[{label: '实例名称', children: ['222222']}, '33333333']}
|
|
101
105
|
/>
|
|
102
|
-
<br
|
|
103
|
-
|
|
106
|
+
<br/><br/>
|
|
107
|
+
|
|
108
|
+
<div>搜索条件成组</div>
|
|
104
109
|
<Search
|
|
105
|
-
|
|
106
|
-
resourceType="demo"
|
|
110
|
+
defaultDataIndex="name"
|
|
107
111
|
options={options}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
112
|
+
onSearch={(value, dataIndex, extra) => {
|
|
113
|
+
//@ts-ignore
|
|
114
|
+
setFilters([...filters, extra])
|
|
115
|
+
}}
|
|
116
|
+
suggestions={[{label: '实例名称', children: ['222222']}, '33333333']}
|
|
111
117
|
/>
|
|
112
|
-
<br /><br /><br />
|
|
113
|
-
搜索类型:(不支持模糊搜索 fuzzyDisable: true)<br />
|
|
114
|
-
<Search
|
|
115
|
-
simple
|
|
116
|
-
options={noFuzzyoptions}
|
|
117
|
-
onSuggest={onSuggestPromise}
|
|
118
|
-
onChange={onChange1}
|
|
119
|
-
onSearch={onSearch}
|
|
120
|
-
/>
|
|
121
|
-
<br /><br /><br />
|
|
122
|
-
单选类型:<br />
|
|
123
|
-
<Search
|
|
124
|
-
simple
|
|
125
|
-
options={options2}
|
|
126
|
-
onChange={onChange1}
|
|
127
|
-
onSearch={onSearch}
|
|
128
|
-
/>
|
|
129
|
-
<br />
|
|
130
|
-
单维度单类别,暂不支持多选
|
|
131
|
-
</div>
|
|
132
|
-
);
|
|
133
|
-
};
|
|
134
118
|
|
|
135
|
-
|
|
119
|
+
<div style={{marginTop: 8}}>
|
|
120
|
+
<SearchFilter
|
|
121
|
+
dataSource={filters}
|
|
122
|
+
onChange={(list)=> {
|
|
123
|
+
setFilters(list)
|
|
124
|
+
}}
|
|
125
|
+
/>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
);
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
export default Demo1;
|
|
132
|
+
|