Picker 控制
用于提供搜索体验的控件。
备注
GitHub 代码组件存储库中的完整文档和源代码。
说明
Picker 用于从大型列表中选择一个或多个项目,如标记或文件。
Picker 代码组件允许从画布应用和自定义页面内部使用 Fluent UI 选择器菜单组件。
标记选取器代码组件提供以下功能:
- 绑定到所选标记的输入集合。
- 绑定到建议标记的输入集合。
- 允许用户从建议中进行选择或输入自由文本标记。
- 当用户添加或删除标签记引发更改时事件。
- 允许以编程方式设置焦点。
数据集
标记选取器有以下输入数据集,在本文后面的键属性中有详细介绍。
Tags
TagsDisplayName
Suggestions
SuggestionsDisplayName
SuggestionSubDisplayName
Suggestions
数据集应使用 SearchTerm
输出属性进行筛选,例如:
Search(colSuggestions,TagPicker.SearchTerm,"name")
属性
键属性
属性 | 说明 |
---|---|
Items |
标记集合(表)。 本应用负责添加或删除标签以响应组件引发的添加或删除事件(在以下 OnChange 事件部分中描述)。 |
Suggestions_Items |
建议的集合(表)。 |
TagMaxWidth |
呈现时标记的最大宽度。 溢出文本将被省略号截断,悬停工具提示将显示完整文本。 |
AllowFreeText |
键入值时,不要自动选择第一个建议,以便提供自由文本条目,而不是从预定义列表中选择。 |
SearchTermToShortMessage |
当搜索词小于 MinimumSearchTermLength 时显示的消息。 |
HintText |
未提供搜索词时将在选取器中显示的消息。 |
NoSuggestionsFoundMessage |
当“建议”集合不包含结果时将显示的消息。 |
MinimumSearchTermLength |
触发建议弹出项目的最少字符数。 |
MaxTags |
可以添加的最大标记数。 在此数字之后,标记选取器将为只读,直到标记被删除。 |
Error |
当应显示红色错误边框时为 true。 |
Items
性能
属性 | 说明 |
---|---|
TagsDisplayName |
设置为保留标记显示名称的列的名称。 |
Suggestions
性能
属性 | 说明 |
---|---|
SuggestionsDisplayName |
设置为保留建议显示名称的列的名称。 |
SuggestionsSubDisplayName |
(可选)设置为保留第二行文本的列的名称。 |
样式属性
属性 | 说明 |
---|---|
Theme |
接受使用 Fluent UI 主题设计器 (windows.net) 生成的 JSON 字符串。 将此属性留空将使用 Power Apps 定义的默认主题。 有关如何配置的指导,请参阅主题化。 |
FontSize |
选取器内显示的标记的字体大小。 |
BorderRadius |
选取器内显示的标记的边框半径。 |
ItemHeight |
选取器内显示的标签高度(像素)。 |
AccessibilityLabel |
屏幕阅读器 aria 标签 |
事件属性
属性 | 说明 |
---|---|
Input Event |
设置要发送到 TagPicker 的事件 |
输出属性
属性 | 说明 |
---|---|
SearchTerm |
输入到标记选取器中的文本,可用于筛选建议数据集。 |
TagsDisplayName |
用于在触发 On Change 事件时创建新标记的文本 |
AutoHeight |
当标记选取器包装到多行时,Auto Height 属性可用于控制响应式容器高度的高度。 |
行为
支持 SetFocus 作为 InputEvent
。
OnChange 事件
TagPicker
组件在添加或删除标记时引发 OnChange
事件。 使用的属性有:
属性 | 说明 |
---|---|
TagEvent |
引发的事件的名称 |
TagKey |
引发事件的项目的键(如果事件与标记相关) |
事件应包含类似于下方的表达式:
If( TagPicker.TagEvent = "Add" && CountRows(Filter(colTags,name=TagPicker.TagsDisplayName)) = 0,
Collect( colTags, { name:TagPicker.TagsDisplayName })
);
If( TagPicker.TagEvent="Remove",
RemoveIf( colTags,name=Text(TagPicker.TagsDisplayName) )
);
限制
此代码组件只能在画布应用和自定义页面中使用。