@alicloud/console-components-search 0.1.3 → 0.2.2
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 -131
- package/demos/demo1.demo.tsx +100 -90
- 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 +3 -3
- package/es/constants.js +4 -1
- package/es/index.js +1 -1
- package/es/modeSingleSingle/InputPrefix.js +29 -0
- package/es/modeSingleSingle/index2.js +369 -0
- package/es/search.js +2 -3
- package/es/searchTagList/PureTag.js +57 -0
- package/es/searchTagList/index.js +30 -14
- package/es/style.js +2 -2
- package/lib/constants.d.ts +2 -0
- package/lib/constants.js +6 -2
- package/lib/index.d.ts +2 -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 +400 -0
- package/lib/search.js +2 -4
- package/lib/searchTagList/PureTag.d.ts +14 -0
- package/lib/searchTagList/PureTag.js +71 -0
- package/lib/searchTagList/index.d.ts +3 -1
- package/lib/searchTagList/index.js +31 -15
- package/lib/style.js +2 -2
- package/lib/types/IRcSearchProps.type.d.ts +22 -21
- package/lib/types/IRcSearchTagItemProps.type.d.ts +2 -2
- package/lib/types/IRcSearchTagListProps.type.d.ts +9 -5
- package/package.json +2 -1
- package/demos/demo2.demo.tsx +0 -81
- package/demos/demo3.demo.tsx +0 -90
- package/demos/demo4.demo.tsx +0 -137
- 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 -868
- package/es/modeSingleSingle/index.js +0 -201
- package/lib/modeSingleMulti/index.d.ts +0 -2
- package/lib/modeSingleMulti/index.js +0 -894
- package/lib/modeSingleSingle/index.d.ts +0 -2
- package/lib/modeSingleSingle/index.js +0 -226
package/README.md
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
# @alicloud/console-components-search
|
|
2
2
|
|
|
3
3
|
基础搜索组件: 当前控制台的基础搜索主要针对列表页的搜索场景,此次基础搜索组件主要通过一个简约通用的框架满足控制台针对列表页不同场景下的搜索需求
|
|
4
|
-
按照使用场景分为三种使用场景
|
|
5
|
-
- 场景一:单维度单类别单选 (eg:该功能模块下只支持“实例名称”这唯一类别的搜索);
|
|
6
|
-
- 场景二:带着多个筛选维度的输入
|
|
7
|
-
|
|
8
|
-
### SearchTagList
|
|
9
|
-
场景二 需结合SearchTagList使用, SearchTagList用与展示Search已选的筛选条件(以tag的形式),分成两个组件可以更灵活的定位SearchTagList的位置(比如表格场景)
|
|
10
|
-
|
|
11
4
|
## install
|
|
12
5
|
|
|
13
6
|
```bash
|
|
@@ -17,20 +10,66 @@ tnpm i @alicloud/xconsole-components-search --save-dev
|
|
|
17
10
|
## Usage
|
|
18
11
|
|
|
19
12
|
```js
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
/**
|
|
14
|
+
* @title 场景1
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import React from "react";
|
|
18
|
+
import { Search } from "@alicloud/console-components-search";
|
|
19
|
+
|
|
20
|
+
let options = [
|
|
22
21
|
{
|
|
23
22
|
label: '实例名称',
|
|
24
23
|
dataIndex: 'name',
|
|
25
24
|
template: 'input',
|
|
26
25
|
templateProps: {
|
|
27
|
-
placeholder: '
|
|
26
|
+
placeholder: '按实例名称搜索',
|
|
28
27
|
dataSource: []
|
|
29
|
-
}
|
|
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"
|
|
30
60
|
}
|
|
31
61
|
]
|
|
32
62
|
|
|
33
63
|
let options2 = [
|
|
64
|
+
{
|
|
65
|
+
label: '实例名称',
|
|
66
|
+
dataIndex: 'name',
|
|
67
|
+
template: 'input',
|
|
68
|
+
templateProps: {
|
|
69
|
+
placeholder: '按实例名称搜索',
|
|
70
|
+
dataSource: []
|
|
71
|
+
},
|
|
72
|
+
},
|
|
34
73
|
{
|
|
35
74
|
label: '网络类型',
|
|
36
75
|
dataIndex: 'type',
|
|
@@ -43,144 +82,78 @@ let options2 = [
|
|
|
43
82
|
{label: 'C', value: 'c'},
|
|
44
83
|
{label: 'D', value: 'd'},
|
|
45
84
|
]
|
|
46
|
-
}
|
|
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
|
+
},
|
|
47
100
|
}
|
|
48
101
|
]
|
|
49
|
-
async function onSuggestAsync (value: string, dataIndex: string) {
|
|
50
|
-
if (!value) {
|
|
51
|
-
return [];
|
|
52
|
-
}
|
|
53
|
-
return [
|
|
54
|
-
// {label: value, value: `${dataIndex}-${value}`}
|
|
55
|
-
`${value}-1`,
|
|
56
|
-
`${value}-2`,
|
|
57
|
-
`${value}-3`,
|
|
58
|
-
`${value}-4`,
|
|
59
|
-
`${value}-5`,
|
|
60
|
-
]
|
|
61
|
-
}
|
|
62
|
-
function onSuggestPromise (value: string, dataIndex: string) {
|
|
63
|
-
let rtList = [];
|
|
64
|
-
if (!value) {
|
|
65
|
-
rtList = [];
|
|
66
|
-
}
|
|
67
|
-
rtList = [
|
|
68
|
-
// {label: value, value: `${dataIndex}-${value}`}
|
|
69
|
-
`${value}-1`,
|
|
70
|
-
`${value}-2`,
|
|
71
|
-
`${value}-3`,
|
|
72
|
-
`${value}-4`,
|
|
73
|
-
`${value}-5`,
|
|
74
|
-
]
|
|
75
|
-
return Promise.resolve(rtList)
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
async function onChange1 (changedFileds:any, allFileds:any) {
|
|
79
|
-
console.log(`changedFileds:`, changedFileds, 'allFileds', allFileds)
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
async function onSearch (allFileds:any) {
|
|
83
|
-
console.log(`onSearch:`, 'allFileds', allFileds)
|
|
84
|
-
alert(`提交搜索: ${JSON.stringify(allFileds)}`)
|
|
85
|
-
}
|
|
86
|
-
<div>
|
|
87
|
-
搜索类型:(async 调用)<br />
|
|
88
|
-
<Search
|
|
89
|
-
simple
|
|
90
|
-
options={options}
|
|
91
|
-
onSuggest={onSuggestAsync}
|
|
92
|
-
onChange={onChange1}
|
|
93
|
-
onSearch={onSearch}
|
|
94
|
-
/>
|
|
95
|
-
<br /><br /><br /> 搜索类型:(promise调用)<br />
|
|
96
|
-
<Search
|
|
97
|
-
simple
|
|
98
|
-
options={options}
|
|
99
|
-
onSuggest={onSuggestPromise}
|
|
100
|
-
onChange={onChange1}
|
|
101
|
-
onSearch={onSearch}
|
|
102
|
-
/>
|
|
103
|
-
<br /><br /><br /> 单选类型:<br />
|
|
104
|
-
<Search
|
|
105
|
-
simple
|
|
106
|
-
options={options2}
|
|
107
|
-
onChange={onChange1}
|
|
108
|
-
onSearch={onSearch}
|
|
109
|
-
/>
|
|
110
|
-
<br /> 单维度单类别,暂不支持多选
|
|
111
|
-
</div>
|
|
112
102
|
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
## 使用场景
|
|
116
|
-
|
|
117
|
-
### 场景一:单维度单类别单选 (eg:该功能模块下只支持“实例名称”这唯一类别的搜索);
|
|
118
|
-
|
|
119
|
-
1、用户点击输入框直接输入要搜索的内容;<br>
|
|
120
|
-
2、场景一只提供‘input’类型和‘select’类型;<br>
|
|
121
|
-
3、模糊搜索的回调函数支持async 和 promise 调用;<br>
|
|
122
|
-
|
|
123
|
-
[$XView](http://localhost:3333/?entryKey=demo1&consoleOSId=console-fe-test-rc-search-doc)
|
|
124
|
-
|
|
125
|
-
> 场景一的已选值在基础搜索组件上展示, 无需引用“searchTagList”组件
|
|
126
|
-
<br>
|
|
127
103
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
<
|
|
144
|
-
|
|
145
|
-
|
|
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
|
+
```
|
|
146
134
|
|
|
147
|
-
|
|
148
|
-
2、筛选条件区域的Tag直接被替换;用户选择不同类别会<br>
|
|
149
|
-
3、生成新的筛选Tag出现在筛选区<br>
|
|
135
|
+
## Demo
|
|
150
136
|
|
|
151
|
-
[$XView](http://localhost:3333/?entryKey=demo3&consoleOSId=console-fe-test-rc-search-doc)
|
|
152
137
|
|
|
153
|
-
|
|
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 )
|
|
154
139
|
|
|
155
140
|
<br>
|
|
156
141
|
|
|
157
|
-
### 无默认分类, 默认多类别搜索;
|
|
158
|
-
|
|
159
|
-
1、当开发者没有指定默认类别且用户没有选择类别的时候;<br>
|
|
160
|
-
2、模糊搜索的回调函数将使用onSuggestNoDataIndex,返回<br>
|
|
161
|
-
3、开发者可返回多组类别的模糊搜索结果
|
|
162
|
-
[$XView](http://localhost:3333/?entryKey=demo4&consoleOSId=console-fe-test-rc-search-doc)
|
|
163
|
-
|
|
164
|
-
|
|
165
142
|
## API
|
|
166
143
|
|
|
167
|
-
|
|
144
|
+
### rc-search
|
|
168
145
|
|
|
169
146
|
基础搜索组件的参数
|
|
170
|
-
[$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)
|
|
171
148
|
|
|
172
|
-
|
|
149
|
+
### options
|
|
173
150
|
|
|
174
151
|
配置组件类别的options
|
|
175
152
|
[$XView](http://localhost:3333/?entryKey=types%2FIRcSearchOptions&consoleOSId=console-fe-test-rc-search-doc)
|
|
153
|
+
### SearchFilter
|
|
176
154
|
|
|
177
|
-
## tags
|
|
178
|
-
|
|
179
|
-
场景二、三, 需要与SearchTagList共同使用时的参数
|
|
180
|
-
[$XView](http://localhost:3333/?entryKey=types%2FIRcSearchTagItemProps&consoleOSId=console-fe-test-rc-search-doc)
|
|
181
|
-
|
|
182
|
-
## SearchTagList
|
|
183
|
-
|
|
184
|
-
场景二、三, 需要与Search共同使用时的参数
|
|
185
155
|
[$XView](http://localhost:3333/?entryKey=types%2FIRcSearchTagListProps&consoleOSId=console-fe-test-rc-search-doc)
|
|
186
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,86 +71,71 @@ 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
92
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
return (
|
|
93
|
+
const Demo1: React.FC<{}> = (props) => {
|
|
94
|
+
const [filters, setFilters] = useState<any>([]);
|
|
95
|
+
console.log(filters)
|
|
96
|
+
return (
|
|
93
97
|
<div>
|
|
94
|
-
搜索类型:(async 调用)<br />
|
|
95
98
|
<Search
|
|
96
|
-
|
|
97
|
-
options={
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
defaultDataIndex="name"
|
|
100
|
+
options={options2}
|
|
101
|
+
onSearch={(value, dataIndex) => {
|
|
102
|
+
console.log(value, dataIndex)
|
|
103
|
+
}}
|
|
104
|
+
suggestions={[{label: '实例名称', children: ['222222']}, '33333333']}
|
|
100
105
|
/>
|
|
101
|
-
<br
|
|
102
|
-
|
|
106
|
+
<br/><br/>
|
|
107
|
+
|
|
108
|
+
<div>搜索条件成组</div>
|
|
103
109
|
<Search
|
|
104
|
-
|
|
105
|
-
resourceType="demo"
|
|
110
|
+
defaultDataIndex="name"
|
|
106
111
|
options={options}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
<Search
|
|
113
|
-
simple
|
|
114
|
-
options={noFuzzyoptions}
|
|
115
|
-
onSuggest={onSuggestPromise}
|
|
116
|
-
onSearch={onSearch}
|
|
112
|
+
onSearch={(value, dataIndex, extra) => {
|
|
113
|
+
//@ts-ignore
|
|
114
|
+
setFilters([...filters, extra])
|
|
115
|
+
}}
|
|
116
|
+
suggestions={[{label: '实例名称', children: ['222222']}, '33333333']}
|
|
117
117
|
/>
|
|
118
|
-
<br /><br /><br />
|
|
119
|
-
单选类型:<br />
|
|
120
|
-
<Search
|
|
121
|
-
simple
|
|
122
|
-
options={options2}
|
|
123
|
-
onSearch={onSearch}
|
|
124
|
-
/>
|
|
125
|
-
<br />
|
|
126
|
-
单维度单类别,暂不支持多选
|
|
127
|
-
</div>
|
|
128
|
-
);
|
|
129
|
-
};
|
|
130
118
|
|
|
131
|
-
|
|
119
|
+
<div style={{marginTop: 8}}>
|
|
120
|
+
<SearchFilter
|
|
121
|
+
dataSource={filters}
|
|
122
|
+
onChange={(deletedFilter, list)=> {
|
|
123
|
+
setFilters(list)
|
|
124
|
+
}}
|
|
125
|
+
/>
|
|
126
|
+
</div>
|
|
127
|
+
|
|
128
|
+
<div style={{marginTop: 8}}>
|
|
129
|
+
<SearchFilter
|
|
130
|
+
dataSource={[
|
|
131
|
+
{label: '实例名称', value: 'xxxxxx', dataIndex: 'name'},
|
|
132
|
+
{label: '实例名称', value: {tagKey: 'xxxx', tagValue: 'xxxxxx'}, dataIndex: 'name'}
|
|
133
|
+
]}
|
|
134
|
+
/>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
);
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
export default Demo1;
|
|
141
|
+
|