2015-05-07 3 views
0

Я хочу установить текст value, взяв value из другого page или другой области ввода. Вот мое текстовое поле. Я пробовал много комбинаций для this.byId("thisOne")., но они не сработали.Как установить динамическое значение текста в SAPUI5?

this.byId("thisOne").setValue("Some thing"); 

другой способ:

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

Текст элемент:

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

Мой XML-файл:

<core:View xmlns:core="sap.ui.core" 
    xmlns:mvc="sap.ui.core.mvc" 
    xmlns="sap.m" controllerName="App.view.Take" 
    xmlns:html="http://www.w3.org/1999/xhtml" 
    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> 
</core:View> 

ответ

-3

Если вы хотите, чтобы получить текстовое поле, а затем добавить значение для него. Вы должны сделать это:

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

Я принимаю этот журнал консоли. 'Uncaught TypeError: Невозможно прочитать свойство setValue 'undefined'. –

+0

Использование глобального метода «byId» в этом случае неприемлемо, очень грубо, тем более, что это не сработает, потому что XML View префикрует все внутренние элементы управления собственным идентификатором. Даун проголосовал. –

0

Обратите внимание, что setValue не будет работать. setValue не поддерживается метод для sap.m.Text Контроль. setValue поддерживается для sap.m.Input (или любой другой контроль, который наследует свойства от sap.m.Inputbase)

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

Затем

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

Обратитесь к sap.m.Text и sap.m.Input для более подробной информации.

+0

Не работает. Он говорит 'Невозможно прочитать свойство setText 'неопределенного'. –

+0

какой контроль вы используете? sap.m.Text? something else –

+0

Я использую ''. в моем XML-файле. –

1

Если вы укажете идентификатор явно для элемента управления, в представлении XML фактический идентификатор будет добавлен с идентификатором представления XML, например, элемент управления ввода может иметь фактический идентификатор «__xmlview0--thisOne».

Лучшей практикой является использование функции byId XML View для получения идентификатора элемента управления, содержащегося в нем. Так, например, в контроллере прикрепленного к представлению (App.view.Take.controller.js в вашем случае), вы можете сделать это:

this.getView().byId("thisOne").setValue("Some thing");