我在Process Flow中遇到了一个问题。我试图将ProcessFlowLaneHeader的状态设置为Positive,但是我无法看到绿色的节点。你能帮我解决一下这个问题吗? 以下是我试过的代码..
<ui:ProcessFlow class="processFlow" scrollable="false" showLabels="false">
<ui:lanes>
<ui:ProcessFlowLaneHeader iconSrc="sap-icon://order-status" text="Apply" press="onNodeLeaveApply"
state="{[sap.suite.ui.commons.ProcessFlowNodeState.Positive]}" position="0"/>
<ui:ProcessFlowLaneHeader state="{[sap.suite.ui.commons.ProcessFlowNodeState.Positive]}" iconSrc="sap-icon://customer" text="Review"
press="onNodeLeaveReview" position="1"/>
<ui:ProcessFlowLaneHeader state="{[sap.suite.ui.commons.ProcessFlowNodeState.Positive]}" iconSrc="sap-icon://inventory" text="Sent"
press="onNodeLeaveSent" position="2"/>
</ui:lanes>
</ui:ProcessFlow>
请查看此处的屏幕截图我无法获得绿色的节点..
当我尝试通过按下节点从Controller更改节点时,它将变为灰色(中性)。以下是我的控制器代码。
onNodeLeaveApply:function(oEvent){
oEvent.mParameters.oParent.mAggregations.lanes[0].setState(["sap.suite.ui.commons.ProcessFlowNodeState.Positive"]);
},
请帮助我如何将状态更改为绿色(正面)
提前谢谢
答案 0 :(得分:0)
对不起,第一个答案是草率和不正确。 state属性确实是一对{state,value}的数组。 “press”的事件处理程序可以访问ProcessFlowLaneHeader作为事件的源,因此oEvent.mParameters.oParent.mAggregations.lanes [0]行应该更改为oEvent.getSource():
detail_page.html
代替sap.suite.ui.commons.ProcessFlowNodeState.Negative或sap.suite.ui.commons.ProcessFlowNodeState.Positive,您可以使用字符串“Negative”和“Positive”,结果相同:
onNodeLeaveApply: function(oEvent) {
oEvent.getSource().setState([{
state: sap.suite.ui.commons.ProcessFlowNodeState.Positive,
value: 20
},
{
state: sap.suite.ui.commons.ProcessFlowNodeState.Negative,
value: 10
}]);
}