数据字典除了用在编辑
和查看
两个场景外,还经常用在搜索
场景。比如,我们可以按国家
检索宴会清单,也可以按城市
检索宴会清单。由于城市
是树型三级字典
,因此我们甚至可以按任意层级
检索
下面就分别介绍国家
和城市
如何设置搜索条件,因为他们刚好对应着数组型
和树型
两种类别的数据字典
数组型数据字典
src/suite-vendor/test-party/modules/test-party/backend/src/config/validation/schema/party.js
- 1 schemas.partySearch = {
- 2 type: 'object',
- 3 properties: {
- 4 ...
- 5 partyCountry: {
- 6 type: 'string',
- 7 ebType: 'dict',
- 8 ebTitle: 'Party Country',
- 9 ebParams: {
- 10 dictKey: 'a-dictbooster:countries',
- 11 mode: 'select',
- 12 },
- 13 ebOptionsBlankAuto: true,
- 14 },
- 15 ...
- 16 },
- 17 };
参数说明请参见:如何使用数组型数据字典:前端表单渲染
树型数据字典
src/suite-vendor/test-party/modules/test-party/backend/src/config/validation/schema/party.js
- 1 schemas.partySearch = {
- 2 type: 'object',
- 3 properties: {
- 4 ...
- 5 partyCity: {
- 6 type: 'string',
- 7 ebType: 'component',
- 8 ebTitle: 'Party City',
- 9 ebRender: {
- 10 module: moduleInfo.relativeName,
- 11 name: 'renderPartyCity',
- 12 },
- 13 ebParams: {
- 14 separator: '/',
- 15 leafOnly: false,
- 16 },
- 17 ebSearch: {
- 18 operators: 'likeRight',
- 19 },
- 20 },
- 21 },
- 22 };
参数说明请参见:如何实现数据字典间的联动:前端表单渲染
在这里需要重点说明的有如下两点:
-
ebParams.leafOnly
:设置为false
,意味着可以选择任何层级的字典项 -
ebSearch
:专门用于搜索功能的配置项operators
:指定当前字段所支持的SQL查询条件的操作符
。设置为likeRight
,从而构造形如partyCity like ‘110000/110100/%‘
的SQL查询条件,从而实现任意层级的检索操作
评论: