Создание динамического пользовательского интерфейса (формы ввода) из ответа API в мобильном приложении, разработанном с использованием платформы OutSystems
Я ищу, как в OutSystems (для моего мобильного приложения) может быть создан динамический пользовательский интерфейс (или форма ввода для ввода пользовательских данных) в зависимости от ответа какого-либо API; это говорит о том, какие входные элементы должны быть включены в форму, в некотором порядке, например TextView, EditText, Button, ImageView, Button и так далее. Это связано с тем, что в моем приложении разворачивается сценарий, в котором есть несколько компаний, которые предоставляют формы для заполнения несколькими сотрудниками, и сотрудники могут заполнить форму компании, в которой они заинтересованы (они могут работать или не работать в одна и та же компания), и каждая форма отличается (соответственно, с разными элементами ввода), и API получает маркер доступа (сотрудника), вошедшего в систему, и название компании, форму которой он решил заполнить номером / именем формы. что он выбрал для заполнения (поскольку каждая компания может предлагать различные варианты форм для заполнения соответственно). Любая помощь будет принята с благодарностью, заранее спасибо.
Примечание. Я специально говорю о построении вышеуказанного сценария в приложении, разработанном с использованием платформы OutSystems.
3 ответа
Быстрый ответ: вы, вероятно, можете сделать это, если будете использовать виджет "Список" вместе с некоторыми условиями "если" - что будет очень трудно поддерживать.
Кроме этого, я не уверен, возможно ли это в то время.
Ура!
Вы можете сделать это, но вы бы обошли стороной некоторые замечательные вещи, которые предоставляет Outsystems. Возможно, вы захотите воспользоваться javascript-решением, в котором вы извлекаете и публикуете данные через собственные веб-сервисы на этом конкретном экране...
Для начала нужно иметь блок для списка. Этот блок будет иметь все возможные входные виджеты, такие как InputText, DropDown или что-то еще. Эти виджеты будут заключены во вложенные блоки if-else. Условием для блоков if-else будет тип полей ввода. Если он соответствует определенному типу виджета, он будет виден, иначе он будет невидимым. Таким образом, вы можете передать ответ списка в виджет Список и один элемент ответа списка блоку listItem. Я надеюсь, что это даст вам хорошее представление о том, как это реализовать. Дайте мне знать, если у вас есть другие вопросы.