Power Apps 中的 组合框 控件
用户可以在其中提供的选项之间进行选择的控件。 支持搜索和多重选择。
描述
使用 组合框 控件,可以搜索要选择的项。 由于在服务器端对 SearchField 属性执行搜索,因此性能不受大数据源影响。
单选或多重选择模式是通过 SelectMultiple 属性进行配置。
搜索要选择的项时,可以对所有项修改“数据”窗格中的“布局”设置,选择是显示一个数据值、两个数据值,还是一张图片和两个值(“人员”模板)。
在小屏幕上查看时,项目列表弹出项目将会变为一个全屏控件以提供更好的可用性。
备注
如果要搜索带有数字的项,请使用 Text() 函数将数字转换为文本。 例如,Text(12345)。
限制
组合框控件具有以下限制:
- 如果在库中使用组合框控件,当用户滚动库时,不保留其选择。 如果在不滚动的库中使用组合框控件,则不会出现此问题。 当前未提供解决方法。
人员选取器
若要将 组合框 用作人员选取器,请从“数据”窗格的“布局”设置中选择人员模板,并配置要显示的如下人员相关数据属性。
关键属性
Items – 提供待选选项的数据源。
DefaultSelectedItems – 用户与控件交互前的初始选定项。
备注
Default 属性已弃用,请改为使用 DefaultSelectedItems。
SelectedItems – 用户交互后的选定项列表。
SelectMultiple – 用户是能选择一个项,还是能选择多个项。
IsSearchable – 用户能否在选择前先搜索项。
备注
IsSearchable 仅可以在包含至少一个文本字段的数据源上启用。 对于要使用搜索委派的查询,Items表达式必须可委派。 即,不支持Items表达式中的 If 语句。
SearchFields – 用户输入文本时,所搜索的数据源的数据字段。
备注
要对多个字段进行搜索,请以此格式设置 SearchFields 属性:["MyFirstColumn", "MySecondColumn"]。 仅支持文本字段。
其他属性
AccessibleLabel – 屏幕阅读器标签。
BorderColor – 控件边框的颜色。
BorderStyle – 控件边框是 Solid、Dashed、Dotted 还是 None。
BorderThickness – 控件边框的粗细。
DisplayFields – 针对搜索返回的每个项显示的字段列表。 通过“属性选项”选项卡中的“数据”窗格进行配置最为简单。
备注
若要更新给定模板中的多个显示字段,请以此格式设置 DisplayFields 属性:["MyFirstColumn", "MySecondColumn"]
。
DisplayMode – 此控件是允许用户输入 (Edit)、仅显示数据 (View),还是已禁用 (Disabled)。
FocusedBorderColor – 当聚焦到控件时,控件的边框颜色。
FocusedBorderThickness – 当聚焦到控件时,控件的边框粗细。
Height – 控件上边缘和下边缘之间的距离。
InputTextPlaceholder – 在未选中项目时向最终用户显示的说明文本。
OnChange – 当用户更改选择时要执行的操作。
OnNavigate – 当用户选择一个项目时要执行的操作。
OnSelect – 当用户点击或选择控件时要执行的操作。
TabIndex – 相对于其他控件的键盘导航顺序。
Visible – 控件显示还是隐藏。
Width – 控件左边缘和右边缘之间的距离。
X – 控件左边缘与其父容器(如果没有父容器,则为屏幕)左边缘之间的距离。
Y – 控件上边缘与其父容器(如果没有父容器,则为屏幕)上边缘之间的距离。
备注
弹出项目边框属性由 Border 属性控制。
示例
基本组合框
此示例中的步骤适用于任何提供表的数据源,但要完全遵循这些步骤,请将环境与具有示例数据的 Microsoft Dataverse 数据库配合使用。
选择插入 > Input > 组合框,并将其命名为“Combobox1”。
在屏幕右侧的属性窗格上,打开选择数据源列表(在Items旁边),然后添加或选择数据源,例如“帐户”表。
在同一窗格中,选择编辑(位于字段旁边)。
在Data窗格中,打开主要文本列表,然后选择将在 组合框 控件中显示的主要名称列。
按住 Alt 键,选择向下箭头打开 组合框 控件。
该控件显示您在指定的数据源中指定的主要名称中的数据。
(可选)默认显示第一条记录
将 DefaultSelectedItems 属性设置为此表达式,将 DataSource 替换为您的数据源名称:
First(DataSource)
(可选)在标签中显示选定的帐户名称值
选择插入 > 文本标签,然后选择 Label。
将 Text 属性设置为该表达式,用下面的公式替换 Text:
If(CountRows(ComboBox1.SelectedItems)>0, Concat(ComboBox1.SelectedItems,'Account Name',", "), "NO SELECTED ITEM")
备注
If 语句将查看所选项目的存在方式,并在逗号分隔的标签中显示它们,为空时显示“无选定项”消息。
模拟简单下拉行为
通过将 IsSearchable 设置为 false,并将 SelectMultiple 设置为 false,您可以实现下拉菜单的相同功能。
选择插入 > Input,然后选择 组合框。
在屏幕右侧的属性窗格上,打开选择数据源列表(在Items旁边),然后添加或选择数据源。
在同一窗格中,选择编辑(位于字段旁边)。
在Data窗格中,打开主文本列表,然后选择要在 组合框 控件中显示的列。
将 IsSearchable 属性设置为 false。
将 SelectMultiple 属性设置为 false。
按住 Alt 键,选择向下箭头打开 组合框 控件。
控件将显示您在指定的数据源中指定的列中的数据。
备注
“查找项目”文本已经消失,您将只能选择一个项目。
辅助功能准则
颜色对比度
在以下项之间必须有足够的颜色对比度:
- ChevronFill 和 ChevronBackground
- ChevronHoverFill 和 ChevronHoverBackground
- SelectionColor 和 SelectionFill
- SelectionFill 和 Fill
- SelectionTagColor 和 SelectionTagFill
这是除标准颜色对比度以外的要求。
屏幕阅读器支持
AccessibleLabel 必须存在。
备注
在触摸屏上,屏幕阅读器用户可以按顺序导航组合框中的内容。 组合框充当一个按钮,在选中时会显示或隐藏其内容。
键盘支持
TabIndex 必须为零或更大,以便键盘用户可以导航到它。
焦点指示器必须清晰可见。 可以使用 FocusedBorderColor 和 FocusedBorderThickness 来实现此目的。
备注
Tab 键可导航到组合框或离开组合框。 箭头键可导航组合框中的内容。 Esc 键在打开时会关闭下拉列表。