如何在SAPUI5中动态设置文本值?

时间:2015-05-07 14:40:45

标签: sapui5

我想通过从另一个value或其他输入区域获取value来设置文字page。这是我的文字字段。我为this.byId("thisOne").尝试了很多组合,但它们没有用。

 this.byId("thisOne").setValue("Some thing");
另一种方式:

  sap.ui.getCore().byId("thisOne")....

文字元素:

<Text text="" id ="thisOne"/>

我的XML文件:

<mvc:View
    xmlns:mvc="sap.ui.core.mvc" 
    xmlns="sap.m" controllerName="App.view.Take"
    xmlns:l="sap.ui.layout"
    xmlns:f="sap.ui.layout.form">
    <Page showHeader="false">
          <Label text="thisOne" />
          <Input text="" id="thisOne" />
          <Button type="Accept" text="Accept" ></Button>
          <Button type="Reject" text="Reject" ></Button>
   </Page>
</mvc:View>

3 个答案:

答案 0 :(得分:6)

如果为控件明确指定ID,则在XML视图中,实际ID将以XML视图的ID为前缀,例如,Input控件的实际ID可能为&#34; {{1 }}&#34 ;.

最佳做法是使用XML View的byId函数来获取其中包含的控件的ID。例如,在附加到视图的控制器中(在您的情况下为__xmlview0--thisOne),您可以这样做:

App.view.Take.controller.js

答案 1 :(得分:-1)

请注意setValue无效。 setValue控件不支持sap.m.TextsetValue(或从sap.m.Inputbase继承属性的任何其他控件支持sap.m.Input

var oValue = sap.ui.getCore().byId("inputId").getValue();

然后

sap.ui.getCore().byId("thisOne").setText(oValue);

有关详细信息,请参阅sap.m.Textsap.m.Input

答案 2 :(得分:-3)

如果您想获取文本字段,然后为其添加值。你必须这样做:

sap.ui.getCore().byId("thisOne").setValue("Some thing");