这是我的片段,片段没有控制器
<core:FragmentDefinition
xmlns="sap.m"
xmlns:core="sap.ui.core">
<Dialog
title="Invio report via mail">
<content>
<FlexBox
alignItems="Start"
justifyContent="Center">
<items>
<TextArea id="idMailReport" value="themail.mail.it" rows="1" cols="50" />
</items>
</FlexBox>
</content>
<beginButton>
<Button text="Ok" press="onDialogOkButton" />
</beginButton>
<endButton>
<Button text="Close" press="onDialogCloseButton" />
</endButton>
</Dialog>
</core:FragmentDefinition>
我可以设置TextArea元素的值吗?
我尝试从控制器设置它,我调用片段:
var dialogFrafment = sap.ui.xmlfragment(
"dialogFragment",
"appIntra.fragment.dialog",
this // associate controller with the fragment
);
this.getView().addDependent(dialogFrafment);
dialogFrafment.open();
this.byId("idMailReport").setValue("initial.mail.com");
你能帮我吗?
请尝试
sap.ui.getCore().byId("idMailReport").setValue("initial.mail.com");
它应该工作。
这是正式文件
我解决了!
var dialogFrafment = sap.ui.xmlfragment(
"appIntra.fragment.dialog",
this.getView().getController() // associate controller with the fragment
);
我的问题是,我已经设置了一个片段的名称:"dialogFragment"没有它所有的工作!div;)
有点过时,但可能对其他人有用。当你在一个视图中重用你的片段时,给它一个唯一的id,比如:
var dialogFrafment = sap.ui.xmlfragment(
"dialogFragment", // this is fragment's ID
"appIntra.fragment.dialog",
...
);
检索嵌套控件的id如下:
<>以前this.byId (sap.ui.getCore () .Fragment()。createId("dialogFragment"、"idMailReport ")); 之前这样,你的前置片段的id到你的控件的id。