SAPUI5中如何在其他函数内触发CheckBox的选择事件
实现方案
步骤1:修改XML视图,为CheckBox添加唯一标识
首先给两个CheckBox设置唯一ID,方便控制器获取对应控件实例,修改后代码如下:
<VBox> <CheckBox id="firstCheckBox" select="onSelectFirstCheckBox" /> <CheckBox id="secondCheckBox" select="onSelectSecondCheckBox" /> </VBox>
步骤2:修改控制器事件处理逻辑
CheckBox控件的setSelected方法支持传入第二个参数,用于控制是否触发绑定的select事件,将该参数设为true即可实现模拟用户手动勾选的效果,修改后代码如下:
// 注意修正方法名要和视图绑定的事件名保持一致,你原有代码存在方法名不匹配的笔误 onSelectFirstCheckBox: function(oEvent) { console.log("Hello World"); // 获取第二个CheckBox的控件实例 const oSecondCheckBox = this.byId("secondCheckBox"); // 第一个参数为勾选状态,第二个参数设为true表示触发绑定的select事件 oSecondCheckBox.setSelected(true, true); }, onSelectSecondCheckBox: function(oEvent) { console.log("Hello World"); }
补充说明
- 若需要实现第二个CheckBox取消勾选同时触发事件,将
setSelected的第一个参数改为false即可,第二个参数仍然传true。 - 若仅需要修改勾选状态不需要触发事件,省略第二个参数或者传
false即可。
内容的提问来源于stack exchange,提问作者Roman
相关产品推荐
相关产品推荐

