# SuperPage组件-快速搜索

快速搜索组件输入组件的一种,与输入框下拉框类似,都可用于提交数据过滤数据。其特殊之处在于,在输入关键字后,系统会按照指定的搜索规则,在数据库中搜索匹配的数据,并以下拉列表的形式展示搜索的结果项,供用户选取,被选取的结果项作为快速搜索组件可用于数据的提交过滤

  • 过滤数据:输入关键字并选择搜索结果可以过滤模型数据
  • 提交数据:将选择的搜索结果存入到数据库中,如机构新增,输入机构的关键字并选择机构,点击提交即可将机构信息新增至机构表中

以快速搜索组件的过滤功能为例,通过与列表组件搭配可实现企业人员信息的过滤:

快速搜索组件

示例:快速搜索组件 (opens new window)

# 使用快速搜索组件过滤数据

快速搜索组件支持绑定数据模型,在过滤数据时会作用到所有引用了该数据模型的组件。使用时需要为过滤的数据绑定条件字段,并搭配展示数据的组件一起使用。如通过企业名称筛选出该企业的全部人员信息,实现步骤如下:

过滤数据

  1. 拖入快速搜索组件:在组件区>输入中将快速搜索组件拖入到画布中
  2. 设置搜索规则:在属性栏>快速搜索>搜索中,绑定企业主要人员,点击搜索规则将搜索字段设置为企业名称
  3. 设置搜索面板:勾选自定义搜索面板在展开的配置项中设置标题字段企业名称,还可以按需设置描述字段,更多设置说明可查看搜索设置
  4. 设置自动过滤:在属性栏>快速搜索>过滤中勾选自动过滤,并选择条件字段为企业内部序号

# 使用快速搜索组件提交数据

快速搜索组件提交数据的方法与其他输入组件提交数据操作方式一致,勾选提交数据属性并设置绑定字段属性;提交时,会将搜索框选中条目对应的主键作为数据提交到对应的绑定字段中去。

快速搜索组件的搜索结果可被其他组件引用,通过搭配其他输入组件,可实现在选择搜索结果后,同时提交多个组件数据的效果,如使用文本输入组件获取企业信息搜索结果中的法定代表人字段数据,在计算公式的编辑框中,双击拾取参数属性下快速搜索组件的法定代表人字段即可。

TIP

快速搜索组件只会查询页面中使用到的字段,如果某字段在页面中从未被引用过,则查询时会忽略该字段。

# 搜索规则

搜索规则设置主要用于优化搜索性能。以企业信息表为例,比如可以通过社会信用代码企业名称手机号等多个字段进行搜索,在未做优化时当用户输入一串数字想搜索手机号,会同步搜索企业名称这样没有关联的字段,消耗了额外的性能。此时可以进一步细化搜索规则,比如判断当前输入内容是数字时则只搜索手机号,是汉字时则只搜索企业名称。搜索规则设置如下图所示:

搜索规则

添加数据集后,点击搜索规则按钮。对话框中内置了一条默认规则,需要给默认规则添加搜索字段作为保底规则,默认规则不可删除,总是在所有规则的下面。搜索规则可拖拽调整顺序,从上往下判断,命中某条规则后则用该规则进行搜索,后续规则不再判断。每条搜索规则需要设置业务描述搜索规则搜索字段搜索方式

  • 业务描述:用于区分不同的搜索规则,通常根据搜索规则的使用场景命名,如“身份证号”、“姓名”等
  • 搜索规则:通常使用正则表达式来匹配当前输入内容,用于判断当前输入内容是何种形式;也可直接在表达式中使用startwithcontains等字符串函数来判断,通过快速搜索组件ID.输入值获取用户的输入值作为函数的参数
  • 搜索字段:搜索时用于匹配关键字的字段,可多选
  • 搜索方式:搜索框中输入的内容和搜索字段进行匹配时的判断规则,包括等于包含开头是结尾是不搜索五种搜索方式,默认为包含

TIP

系统内置了部分常用的搜索规则,添加时可直接选用。内置规则可通过系统国际化配置进行修改,对应的国际化KEY是dsn.searchrules.addItems

# 自定义搜索面板

属性栏>快速搜索>搜索中,需要选择搜索的数据模型,勾选自定义搜索面板之后,可以配置更多的字段,且配置的字段都来源于数据中引入的数据模型,且字段信息可以在其他组件中引用.

  • 标题字段:选择搜索结果的数据后,在搜索框中显示的字段,只可单选,为空时搜索框默认显示主键对应的文字字段
  • 描述字段:作为标题字段的额外补充信息,显示在每条搜索结果的下方,可辅助用户准确选择搜索结果。描述字段可多选,为空时不显示,当选择多个字段时会按照字段的默认顺序排列,通过鼠标悬停的方式可查看详细信息
  • 数据格式:控制搜索面板中数据条目的呈现格式
  • 移动端浮动显示候选项:默认不勾选,移动端使用快速搜索时,会弹出二级页面展示搜索候选项;勾选该项后,候选项以浮动形式展示
  • 浮动显示候选项条件:当搜索的候选项以浮动的形式展示时,设置该项,可调整候选项可展示最大条目数

搜索设置说明

TIP

快速搜索组件的搜索结果列表仅展示前10条数据,搜索结果是按照数据模型中的数据默认顺序排序的。如需更准确的定位数据,可通过逻辑匹配字符对多个关键字进行拼接,并以空格或'|'分隔,如:湖北 武汉代表搜索字段数据中含有'湖北'与'武汉',湖北|武汉则代表含有'湖北'或'武汉',具体可参考:逻辑匹配

# 快速搜索与搜索框的区别

快速搜索组件与搜索框组件都可以通过输入关键字的方式进行数据过滤,但快速搜索组件在输入关键字后会弹出搜索结果的浮动框,可辅助用户更准确的选择输入内容,再根据选择的结果进行数据过滤,如通过选择具体的企业名称过滤出该企业下的人员信息。

是否有帮助?
0条评论
评论