Условие If - else в приложении XML View UI5

В моем представлении XML для одного из полей я хочу отобразить «Да», если значение из частей модели равно «S» или «P», а для остальных значений нужно отобразить «Нет».

text = "{= ${order>/parts} === 'S' ? "Yes" : ${order>/parts} === 'P' ? "Yes" : "No} }"/>

Также как писать - if ${order>/parts} имеет "S" AND ${order>/stock} имеет "A", затем отобразить Да еще Нет в аналогичном понятии, как указано выше?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
3 098
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Я попробовал этот небольшой пример, и он отлично работает. Возможно, потому, что вы используете двойные кавычки как при открытии свойства текста, так и при значениях («Да» и «Нет»). Попробуйте заменить " на ' в своих значениях. Если это не сработает, вы должны проверить, не является ли {order>/parts} неопределенным.

Вид

<Input value = "{= ${test1} === 'S' ? 'Yes' : ${test1} === 'P' ? 'Yes' : 'No'}" />
<Input value = "{= ${test1} === 'S' ? ${test2} === 'P' ? 'Yes' : 'No' : 'No' }" />

или

<Input value = "{= ${test1} === 'S' || ${test1} === 'P' ? 'Yes' : 'No'}" />
<Input value = "{= ${test1} === 'S'  &amp;&amp; ${test2} === 'P' ? 'Yes' : 'No'}"/>

Контроллер

    onInit: function() {
        var oModel = new sap.ui.model.json.JSONModel({
            test1: "S",
            test2: "P"
        });

        var bindingContext = new sap.ui.model.Context();
        bindingContext.oModel = oModel;
        bindingContext.sPath = "/";

        this.getView().setBindingContext(bindingContext);
        this.getView().setModel(oModel);
    }

да, он работает с 'вместо ". Также, есть ли предложения по случаю И?

THI 10.08.2018 07:45

Я также добавил случай AND. Надеюсь это поможет.

Matthijs Mennens 10.08.2018 07:50

Большое спасибо @Matthijs.

THI 10.08.2018 21:41

Вы должны прочитать о форматеры, это именно то, что вам нужно

Согласен. Но в этом случае существующий код присутствовал таким образом, и мне пришлось быстро просто настроить его для еще одного условия.

THI 10.08.2018 21:43

Надеюсь, что это поможет вам

<Input value = "{= (${order>/parts} === 'S' || ${order>/parts} === 'P') ? 'Yes' : 'No' }" />
<Input value = "{= (${order>/parts} === 'S' &amp;&amp; ${order>/stock} === 'A') ? 'Yes' : 'No' }" />

Другие вопросы по теме