# SuperPage组件-下拉框
使用下拉菜单展示或选择内容,可用于提交或过滤数据。
# 使用下拉框组件过滤数据
使用下拉框组件过滤数据时有2种方式:
# 过滤数据模型的数据
当下拉框的列表数据未与模型表的数据关联时,即使用枚举值,此时需要在模型上设置过滤,可参考文档勾选框-使用勾选框过滤数据。
# 自动过滤
下拉框组件自动过滤的是数据模型的数据,将作用到所有使用此数据模型的组件。使用时需要为过滤的数据绑定条件字段,并搭配其他展示数据的组件一起使用。以搭配列表组件搜索大区销售信息为例,如下是具体操作步骤:
- 使用下拉框组件:在组件区>输入中将下拉框组件拖入到布局中
- 绑定下拉框的数据:在属性栏>下拉框>可选项中下拉选择
区域编码
,设置属性为大区
,更多的属性设置见下拉列表为模型数据 - 设置自动过滤:在属性栏>下拉框>过滤中勾选自动过滤,在条件字段中选择
大区
- 设置默认值:在属性栏>下拉框>输入中指定默认值为
华北
# 使用下拉框组件提交数据
下拉框输入组件的提交数据和其它输入组件提交数据操作方式一致,勾选提交数据属性并设置绑定字段属性,可以将输入信息提交到数据库中,具体可参考文本输入组件。
当多选时提交的多个值之间是以逗号分隔存储在字段中,若展示数据时需要与关联表的数据关联起来,则需要给字段设置字段角色为多值。
# 下拉列表为枚举值
当下拉框的数据需要手动添加时,可以选择枚举值,在可选项下选择枚举值后,点击编辑枚举值,可添加下拉框的数据。点击下面插入行即可新增枚举项,枚举值由值和描述组成:
# 下拉列表为模型数据
当下拉框的列表数据在已有模型表中存在时,可直接选择对应的模型表,在可选项的下拉列表中会显示当前页面中添加的数据模型以及模型中对应的关联表,并且可以设置列表选项的显示内容及节点属性等:
# 下拉内容设置
下拉列表的内容默认是维表的主键信息和默认的层次信息,也可以自定义下拉列表的内容,在下拉框>可选项>属性中设置即可。
当可选项中设置的是维表时,在属性的选项中会列出该维表的所有属性,选择某个属性后,下拉框组件的下拉列表会显示该属性的内容,如只显示大区的数据,则在属性中选择为大区
。
当自定义属性后,根节点和显示最大级次的设置将不起作用。
下拉属性
- 当选择的模型为多主键且设置了周期快照,需指定属性为某个字段。
- 属性下拉列表显示的是该模型的所有维度字段,下拉框组件的数据是按照维度字段去重显示。
# 根节点设置
当可选项设置的是数据表且带有层次时,可以设置显示哪些根节点,以及是否显示根节点,见下拉框联动。设置方式如下:
- 根节点:当设置了根节点内容后,下拉列表只显示该节点下的数据。输入的内容是可选项中数据表的主键信息
- 限制显示单个节点:例如只显示湖北省的节点,内容输入为
420000
- 限制多个节点:限制多个节点需要使用ARR函数。例如显示湖北和湖南节点,内容输入为
ARR(420000,430000)
- 限制显示单个节点:例如只显示湖北省的节点,内容输入为
- 显示根:勾选后,则会将根节点属性中设置的节点显示在列表中。默认不显示
# 维项过滤设置
维项过滤是一个过滤条件,帮助下拉框组件缩小数据显示范围,只将满足条件的维成员显示在下拉框中,使用维表中的字段即可。如绑定销售单位维表的下拉框中,会将该维表中的字段列在数据中,如表达式为[大区名称]!='华北'
,即在下拉框中不显示华北。
当属性选择为【字段名称】时,维项过滤可以过滤哪些字段不显示,语法如下:
[字段名称] = 'XSDW' // 过滤物理字段名
[字段名称].[名称] = '销售单位' // 过滤逻辑名
[字段名称].[名称] = '销售单位, 销售计划' // 过滤多个逻辑名
示例地址:企业查询-输出字段 (opens new window)
# 显示最大级次
当在下拉列表中显示的是一个带有层次的数据时,可以设置显示最大级次属性,限制树形显示到哪一个级次。该属性只能输入数字,即0、1、2...,其中0表示最大级次。
# 显示统计数
在下拉框的选项列表中可统计该选项对应的数据总数,勾选显示统计数属性,并选择了统计字段后,在下拉框组件的列表中会显示该字段的统计数字。如产品类型下拉框,勾选显示统计数之后,会在每个选项后显示每类产品对应的产品个数。
- 可隐藏统计数为0的选项,只需要勾选隐藏统计数为0的项即可。
- 统计字段可以选择可选项中设置的数据模型字段,也可以选择该spg页面中添加的其它数据模型字段。如果选择了其它数据模型字段,该数据模型需要和可选项中选择的数据模型粒度是一致的。
# 下拉框操作设置
可以通过下拉框设置来修改下拉框数据的可选设置:
- 默认值:默认的筛选条件设置,可以下拉选择固定值或者表达式获取
- 允许多选:勾选该选项后,可以同时勾选或选中多个下拉框中的节点,允许多选后可设置显示已选个数及显示“全部”
- 允许清空:勾选后,允许删除下拉框中已选择的数据。若未勾选,当勾选了数据后只能通过选择其他选项来替换已选择的数据
- 只选叶子节点:勾选该选项后,点击根节点只能展开根节点并不能被选中,且只能选中或勾选无叶子节点的子节点
- 显示已选个数:当勾选允许多选,可选择是否显示已选个数。勾选后,当下拉框中选择了数据后,会在下拉框中显示已选择的选项个数
- 显示“全部”:当勾选后,下拉框的列表中会有一条“全部”的选项,选择全部后会勾选所有的选项
# 自动选中第一项
勾选后下拉框自动选中列表数据里面的第一项,此属性与默认值属性互斥,默认值的优先级更高,即设置了默认值之后,自动选中第一项不生效。
# 应用场景
# 下拉框联动
使用下拉框可实现参数联动,如大区-省-市-门店
联动,在选择了某大区后,省的下拉列表中只会显示该大区对应的省,以及市和门店也只显示对应根节点下的数据:
实现方式:
场景一:大区-省-市-门店联动,默认选中第一项
场景二:大区-省-市-门店联动,前一个组件没有选择时,后面的组件不可选
- 设置下拉框省的禁用条件为
[大区联动2].[值]=""
场景三:大区-省-市-门店联动,前一个组件没有选择时,后面的组件是隐藏的
- 设置下拉框省的显示条件为
[大区联动3].[值]!=""
# 动态显示下拉框数据
下拉框可以设置动态的显示隐藏条件和禁用条件,这样可以动态决定某些数据是否显示及下拉框是否可用,例如根据登录用户不同决定某个菜单是否显示。通过设置下拉框的显示>显示条件属性或者禁用>禁用条件属性即可实现。