2015-10-14 96 views
0

我有一組部件(例如Label + TextArea如何隱藏一組UI組件的

<Label text="Country"/> 
<TextArea value="{model>/country}"/> 

現在,躲我被迫設置visible屬性爲每個組件組

<Label visible="false" text="Country" /> 
<TextArea visible="false" value="{model>/country}"/> 

我想用它的特性的「容器」由事務所設置屬性隱藏整個基團,例如visible

<Container visible="false"> 
    <Label text="Country" /> 
    <TextArea value="{model>/country}"/> 
</Container> 

我有例如一個VerticalLayout其中包含Panel,其中包含SimpleForm。 SimpleForm包含4對情侶Label - TextArea,我想小組第一和第二的夫婦無添加額外的保證金或其他UI特性

+1

東西一樣標籤和文本區域是「控制」而不是「組件」。 – hirse

回答

0

有在UI5可用的各種容器控件。面板,flexbox,這VerticalLayout的,Horizo​​ntalLayout,SimpleForm等

<Panel visible="false"> 
    <content> 
    <Label text="Country" /> 
    <TextArea value="{model>/country}"/> 
    </content> 
</Panel> 

作爲備用&一個更好的辦法,而不是家長控制包裝內的控件,您可以創建,你保持控制可見性狀態的模型。

var oModel = new sap.ui.model.json.JSONModel({group1Visibile : false}); 
<view-instance>.setModel(oModel,"controlStates"); 

<Label text="Country" visible ="{controlStates>/group1Visible}"/> 
<TextArea value="{model>/country}" visible ="{controlStates>/group1Visible}"/> 

只是操縱模型的值將反映到所有的控件。

+0

面板,FlexBox,VerticalLayout,Horizo​​ntalLayout,SimpleForm等添加額外的UI風格(例如添加邊距)。例如,我有一個VerticalLayout,其中包含一個Panel,其中包含一個SimpleForm。 SimpleForm包含4對夫婦Label-TextArea,我希望第1組和第2組沒有添加額外的邊距或其他UI屬性 – padibro

+2

您可以添加CSS類.sapUiNoContentPadding,.sapUiNoMargin以刪除邊距和填充。 https://openui5.hana.ondemand.com/explored.html?sap-ui-debug=true#/entity/sap.ui.core.ContainerPadding/samples – sakthi

0

另一種選擇是使用JavaScript和樣式類(對不起,JavaScript的觀點,我不使用XML多):

var oLabel = new sap.m.Label({ 
    text:"Text", 
    labelFor: oText}).addStyleClass("hideGroup"); 
var oText = new sap.m.Text({ 
    text: "Hello World!" 
}).addStyleClass("hideGroup"); 

var oButton = new sap.m.Button({ 
    text: "Press to Hide/Show Group", 
    press: function(){ 
     var els = document.getElementsByClassName("hideGroup"); 
     for(var i=0; i<els.length; ++i){ 
      var s = els[i].style; 
      s.visibility = s.visibility==='visible' ? 'hidden' : 'visible'; 
     } 
    } 
}); 

這裏是一個工作JSBIN例如:LINK 這只是一個例如,您可以根據自己的需要進行調整。

欲瞭解更多信息,看看這個線程:LINK