Sapui5 如何将分段按钮更改为单击的下一个按钮

Sapui5 如何将分段按钮更改为单击的下一个按钮,sapui5,progress,Sapui5,Progress,分段按钮如下所示: <SegmentedButton width="98%"> <items> <SegmentedButtonItem text="INDICATOR1" class="progress" id="before"/> <SegmentedButtonItem text="INDICATOR2" class="progress" id="present"/> <Segme

分段按钮如下所示:

<SegmentedButton width="98%">
    <items>
        <SegmentedButtonItem text="INDICATOR1" class="progress" id="before"/>
        <SegmentedButtonItem text="INDICATOR2" class="progress" id="present"/>
        <SegmentedButtonItem text="INDICATOR3" class="progress" id="after"/>
    </items>
</SegmentedButton>

“下一步”按钮为:

<Button text="Next" press="onPressNext" enabled="true"></Button>
<Button text="Previous" press="onPressPrevious" enabled="true"></Button>

上一个按钮为:

<Button text="Next" press="onPressNext" enabled="true"></Button>
<Button text="Previous" press="onPressPrevious" enabled="true"></Button>

如何编写JS代码,以便在按下
下一步
时,指示灯2应处于激活状态,第二次按下时,指示灯3应处于激活状态

当打开
指示灯2
时,如果按下
上一个
,则
指示灯2
指示灯1
(当前指示灯)都应处于激活状态


我没有JS方面的知识,至少可以尝试一下,任何帮助都可以让我通过它来学习,TIA

我认为您可以创建类似于
onclick
的事件,并更改或添加样式类,例如
active
属性

<items>
        <SegmentedButtonItem text="INDICATOR1" class="progress active" id="before"/>
        <SegmentedButtonItem text="INDICATOR2" class="progress" id="present"/>
        <SegmentedButtonItem text="INDICATOR3" class="progress" id="after"/>
</items>

请为下一个按钮编写onclick函数,如下所示

function onNextClick(){
//Make the css of INDICATOR1 normal and INDICATOR2 || INDICATOR3 active
}

您可以从
分段按钮
中获取项目列表,分别获取下一个或上一个项目,并将其设置为所选项目

(我在下面的示例中将
id
添加到
SegmentedButton

sap.ui.define(“myController”[
“sap/ui/core/mvc/Controller”
],功能(控制器){
“严格使用”;
返回Controller.extend(“myController”{
onPressNext:函数(){
var sb=此.byId(“分段按钮1”);
var items=sb.getItems().map(函数(itm){return itm.getId()});
var idx=items.indexOf(sb.getSelectedItem())+1;
if(idx<项目长度){
sb.setSelectedItem(项目[idx]);
}
},
onPressPrevious:function(){
var sb=此.byId(“分段按钮1”);
var items=sb.getItems().map(函数(itm){return itm.getId()});
var idx=items.indexOf(sb.getSelectedItem())-1;
如果(idx>-1){
sb.setSelectedItem(项目[idx]);
}
}
});
});
sap.ui.require([“sap/ui/core/mvc/XMLView”],函数(XMLView){
XMLView.create({
定义:$('#myView').html()
}).然后(功能(oView){
oView.placeAt(“内容”);
});
});


请尝试阅读Xml Dom,非常感谢,先生,但是当我在指示灯2上并按下
previous
时,指示灯2和指示灯1都必须处于活动状态,另外一个是在指示灯1上禁用
previous
@code新手,我不知道使用
分段按钮是否可以实现。
selectedItem
的基数是0..1(请参阅),因此我相信一次只能激活一个按钮。哎呀,有没有其他方法可以实现同样的效果,而不是在这里使用分段按钮?我想你可以将一些按钮相邻放置,让它们作为一个
SegmentedButton
。要让他们像SegmentedButton一样工作(这将是一个单独的问题)。我认为最好是提出一个新问题,并将这个问题留给其他能够在代码中使用SegmentedButton的人。然后在新问题中,您可以更具体地说明如何将切换按钮用作分段按钮(+您的下一个/上一个要求)