Power Apps:点击按钮在文本标签显示复选框选中值的方案求助
解决方案
针对你的需求,要实现点击按钮后将所有选中的复选框内容显示在文本标签中,你原来的代码仅能处理单个复选框且会覆盖值,以下是可行的实现方式:
步骤1:编写按钮的OnSelect逻辑
假设你的4个复选框控件名称分别为chk_Finance_1、chk_HR_1、chk_IT_1、chk_Admin_1(可根据实际名称替换),将按钮的OnSelect属性设置为以下代码:
Set( varSelectedItems, Concat( Filter( [ {IsChecked: chk_Finance_1.Value, DisplayText: chk_Finance_1.Text}, {IsChecked: chk_HR_1.Value, DisplayText: chk_HR_1.Text}, {IsChecked: chk_IT_1.Value, DisplayText: chk_IT_1.Text}, {IsChecked: chk_Admin_1.Value, DisplayText: chk_Admin_1.Text} ], IsChecked = true ), DisplayText, ", " ) )
这段代码会:
- 遍历所有复选框的选中状态和文本内容
- 筛选出已选中的复选框
- 将选中的文本用逗号拼接成字符串,存入变量
varSelectedItems
步骤2:绑定文本标签的Text属性
将文本标签的Text属性设置为:
If(IsBlank(varSelectedItems), "未选中任何选项", varSelectedItems)
这样当没有复选框被选中时,标签会显示提示文本;有选中项时则显示所有选中的内容。
补充说明
如果你的复选框需要显示的不是控件的Text属性,而是自定义值(比如你原来代码里的"Finance"),可以把代码中的DisplayText替换为自定义值,示例如下:
Set( varSelectedItems, Concat( Filter( [ {IsChecked: chk_Finance_1.Value, DisplayText: "Finance"}, {IsChecked: chk_HR_1.Value, DisplayText: "HR"}, {IsChecked: chk_IT_1.Value, DisplayText: "IT"}, {IsChecked: chk_Admin_1.Value, DisplayText: "Admin"} ], IsChecked = true ), DisplayText, ", " ) )
内容的提问来源于stack exchange,提问作者Ganesh M
相关产品推荐
相关产品推荐

