如何使用不同的图标按钮执行状态并导航到控制器中的不同功能

时间:2019-04-09 01:29:24

标签: sapui5

我正在尝试使用其他图标按钮显示状态,并且可以按该图标以调用控制器中的其他功能。这是我如何根据状态显示不同图标按钮的代码。但是,我在将这些按钮导航到其他功能时遇到问题。

<Button icon="{= (${TaskStatus} === 'OPEN') ? 'sap-icon://wrench' : 'sap-icon://accelerated' }"> </Button>

2 个答案:

答案 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
}

回复评论: getIcon为我工作(在我的一个项目中测试了代码): enter image description here