我需要检索控件的id(VBox有id="multipleChoiceQuestion"
)并需要在按下按钮时隐藏它。
怎么做?
App.view.xml
<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:l="sap.ui.layout" xmlns:f="sap.ui.layout.form" xmlns:core="sap.ui.core"
displayBlock="true" controllerName="opensap.onlinequestionnaire.controller.App" height="100%">
<VBox id="multipleChoiceHolder">
<HBox width="700px" backgroundDesign="Solid" alignItems="Center" id="mCHorHolder1">
<CheckBox id="checkBox1"/><Label text="{questionnaire>/data/0/answers/0}" id="multipleChoice1"/>
</HBox>
</VBox>
App.controller.js
sap.ui.define([
"sap/ui/core/mvc/Controller"
], function(Controller){
Controller.extend("opensap.onlinequestionnaire.controller.App", {
goToNext:function() {
alert("Next Question");
alert(this.byId('multipleChoiceQuestion'));
}
});
});
在我的goToNext:function()
中,我想检索VBox的ID,并希望隐藏它。
我尝试提醒[{1}},但会返回this.byId()
。
答案 0 :(得分:1)
获取VBox:
// id as stated in the description
oVBox = this.getView().byId("multipleChoiceQuestion");
// or
// id as stated in the view in the code sample
oVBox = this.getView().byId("multipleChoiceHolder");
设置可见性:
oVBox.setVisible(false);
顺便说一下,您的帖子描述的ID和帖子代码示例中的视图不相同。但我确定您已经意识到这种轻微的混淆,这与您检索和隐藏控件的一般方法的问题无关。只是想提到它是安全的
答案 1 :(得分:0)
您的VBox的ID是&#34; multipleChoiceHolder&#34;而不是&#34; multipleChoiceQuestion&#34;。所以,不应该 this.byId(&#39; multipleChoiceHolder&#39;)而不是 this.byId(&#39; multipleChoiceQuestion&#39;)