Попытка расширить ширину ввода внутри контейнера FlexBox.Я хотел бы, чтобы он был такой же ширины, как родительский контейнер.Это мой view.xml:
<mvc:View xmlns:l="sap.ui.layout" xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m">
<l:VerticalLayout id="idVL" class="sapUiContentPadding" width="100%">
<l:content>
<Panel id="idPnl">
<FlexBox id="idFB">
<Input id="idInput">...</Input>
</FlexBox>
</Panel>
</l:content>
</l:VerticalLayout>
</mvc:View>
Проверка страницы в браузере показывает, что родительский FlexBox фактически расширяется до ширины, установленной в VerticalLayout.Однако SAPUI5 автоматически создает подраздел, который не распространяется на всю ширину, и помещает ввод в , что :
<div id="xxxxx---view--idFB" data-sap-ui="..." class="..."> //This is the parent FlexBox, it extends to the size of VerticalLayout element.
<div id="__data4" style="order:0;flex-grow:0;flex-shrink:1;..." class="..."> //This sub-FlexBox is created automatically, and is smaller than it's parent.
<div id="xxxxx---view--idInput ...> //The input is placed here.
...
</div>
</div>
</div>
Я могу ошибаться, но я подозреваю "flex-grow: 0 "является виновником, и я не могу найти способ получить доступ к этому свойству.Я попытался установить его в css внутри #idFB, который не работал.Также попытался установить его внутри некоторых из тех классов, используемых sub-div (как ".sapMFlexItem"), также не работал.Попытка установить ширину каждого контейнера на 100%, также не работает.В документации ничего не говорится о ручной настройке свойств flex.
Как установить значение flex-grow на 1 или каким-либо другим способом увеличить размер ввода до той же ширины, что и у VerticalLayout?
Примечание: я не на 100% продан при использовании FlexBox здесь;Я просто не знаю ни одного другого контейнера, который я мог бы использовать для размещения ввода и кнопки внутри и программной вставки большего количества страниц, например:
controller.js:
addInput: function () {
var oInput = this.byId("idInput").clone();
var delButton = new sap.m.Button({
icon: "sap-icon://delete",
press: this.deleteInput
});
var _oLayout = new sap.m.FlexBox({ // Some other better container?
items: [oInput, delButton]
});
this.byId("idPnl").addContent(_oLayout);
}