我希望在我按下“确定”按钮后文本区域为空
我尝试了这一行this.byId(“ id”)。setValue(“”)
onWorkInProgress: function (oEvent) {
if (!this._oOnWorkInProgressDialog) {
this._oOnWorkInProgressDialog = sap.ui.xmlfragment("WIPworklist", "com.sap.FinalAssestments.view.WorkInProgress", this);
/* this.byId("WIP").value = "";
//this.byId("WIP").setValue();*/
this.getView().addDependent(this._oOnWorkInProgressDialog);
}
var bindingPath = oEvent.getSource().getBindingContext().getPath();
this._oOnWorkInProgressDialog.bindElement(bindingPath);
this._oOnWorkInProgressDialog.open();
},
//function when cancel button inside the fragments is triggered
onCancelApproval: function () {
this._oOnWorkInProgressDialog.close();
},
//function when approval button inside the fragments is triggered
onWIPApproval: function () {
this._oOnWorkInProgressDialog.close();
MessageToast.show(this.getView().getModel("i18n").getResourceBundle().getText("wipSuccess"));
},
该文本区域将显示在片段中。我希望该文本区域为空
答案 0 :(得分:2)
如果您以这种方式实例化片段:
sap.ui.xmlfragment("WIPworklist", "com.sap.FinalAssestments.view.WorkInProgress", this);
您可以通过以下方式访问其控件:
sap.ui.core.Fragment.byId("WIPworklist", "WIP").setValue("");
来源:How to Access Elements from XML Fragment by ID
更好的方法是使用视图模型。模型应具有属性textAreaValue
或类似的属性。
然后将该属性绑定到您的TextArea(<TextArea value="{view>/textAreaValue}" />
)。如果您使用代码更改值(例如this.getView().getModel("view").setProperty("/textAreaValue", "");
,它将自动在弹出窗口中显示新值。
它同时具有两种作用:如果用户更改了文本,它将在视图模型中自动更新,因此您可以使用this.getView().getModel("view").getProperty("/textAreaValue");
答案 1 :(得分:0)
我假设以下代码链接到“确定”按钮,但是如果没有您的XML,我只能猜测。
//function when approval button inside the fragments is triggered
onWIPApproval: function () {
this._oOnWorkInProgressDialog.close();
MessageToast.show(this.getView().getModel("i18n").getResourceBundle().getText("wipSuccess"));
},
假设WIP是您已分配给id
控件的TextArea
,
在函数中添加以下内容,应该可以帮助您获得所需的内容:
sap.ui.core.Fragment.byId("WIPworklist", "WIP").setValue("");
答案 2 :(得分:0)
我想你几乎拥有了。只是把
this.byId("WIP").setValue("")
块之后的if()
行。由于您是将片段作为视图的依赖项添加,因此this.byId("WIP")
每次打开WIP片段并将其值设置为空白时,都会找到ID为"WIP"
的控件。
您现在可能没有实现它,因为A.它尚未取决于您的视图,而B.它仅在第一次复飞时被开除。