如何为sap.m.Select控件添加空选项且无需修改数据源?
解决sap.m.Select添加空选项的优雅方案
不用每次在数据源加载/刷新后手动插入空选项!SAPUI5提供了现成的属性帮你搞定这个需求,完全不需要修改原始数据源:
直接启用内置空选项
给sap.m.Select设置showEmptyOption="true"属性,控件会自动在选项列表最顶部添加一个空选项,完全不需要你去改动数据源里的数据。不管模型怎么刷新,这个空选项都会自动保持在列表开头。举个XML视图的例子:
<Select items="{path: 'myModel>/items'}" showEmptyOption="true" emptyOptionText="请选择一个选项..." > <core:Item key="{myModel>key}" text="{myModel>text}" /> </Select>JS视图里的写法也很简单:
new sap.m.Select({ items: { path: "myModel>/items", template: new sap.ui.core.Item({ key: "{myModel>key}", text: "{myModel>text}" }) }, showEmptyOption: true, emptyOptionText: "请选择..." });自定义空选项文本
配合emptyOptionText属性,你可以自定义空选项显示的提示文字,比如“请选择”、“-- 选择 --”之类的,提升用户体验。特殊场景的补充
如果你的业务需要空选项有特定的key值(比如后台要求传空字符串或者特定编码),那可能需要额外处理,但这种情况很少见。大部分场景下,showEmptyOption已经完全能满足需求,不用碰数据源。
总结一下:完全没必要每次数据源加载后手动插入空选项,用控件自带的属性就能轻松搞定,还能避免手动操作数据源带来的潜在问题。
内容的提问来源于stack exchange,提问作者noopmk
相关产品推荐
相关产品推荐

