我正在尝试使用其他图标按钮显示状态,并且可以按该图标以调用控制器中的其他功能。这是我如何根据状态显示不同图标按钮的代码。但是,我在将这些按钮导航到其他功能时遇到问题。
<Button icon="{= (${TaskStatus} === 'OPEN') ? 'sap-icon://wrench' : 'sap-icon://accelerated' }"> </Button>
答案 0 :(得分:3)
我的建议是为每个函数创建一个sap.m.Button并根据您的属性'TaskStatus'设置可见性。
<Button icon="sap-icon://wrench" press="function1" visible="{= ${TaskStatus} === 'OPEN' }"/>
<Button icon="sap-icon://accelerated" press="function2" visible="{= !${TaskStatus} === 'OPEN' }"/>
这样做,您可以对特定的Button进行1次操作,我认为,它更容易为您的项目中将来的开发人员阅读。
答案 1 :(得分:1)
xml:
<Button
id="idButton"
icon="{= (${TaskStatus} === 'OPEN') ? 'sap-icon://wrench' : 'sap-icon://accelerated' }"
press="onButton"/>
控制器:
onButton: function () {
if ( this.getView().byId("idButton").getIcon() === "sap-icon://wrench" ) {
this._functionA();
} else if ( this.getView().byId("idButton").getIcon() === "sap-icon://accelerated" ) {
this._functionB();
} else {
//some error handling
}
},
_functionA: function() {
//ur logic
}
_functionB: function() {
//ur logic
}