Размещение условных элементов с использованием схем форм JSON - PullRequest
0 голосов
/ 09 мая 2020

Я возился с Mozillas JSON инструментом веб-формы react-jsonschema-form [1] и изо всех сил пытаюсь определить размещение условных ячеек.

Рассмотрим простую форму с потоком:

|- item1 
|---conditionalitem
|- item2 

То, что я хочу сделать, это использовать схему JSON для создания условных logi c для визуализации некоторого промежуточного компонента, если какое-то условие удовлетворяет. Я сделал это и создал небольшую демонстрацию, чтобы увидеть [2]. Используя этот logi c, вторичный компонент будет визуализирован, если опция, выбранная в первом выбранном компоненте, равна option2.

Однако я бы хотел, чтобы условный компонент отображался между item1 и item2. Этого можно достичь, добавив item2 внутри объекта dependency, но я хочу, чтобы item2 отображался независимо от любых условных logi c. Как этого добиться?

Заранее спасибо.

[1] https://github.com/rjsf-team/react-jsonschema-form [2] https://codesandbox.io/s/red-fast-x9q0c?file= / src / App. js

1 Ответ

1 голос
/ 09 мая 2020

Да. Вы можете управлять порядком, в котором отображаются элементы. Это можно настроить в вашем uiSchema. Просто добавьте приведенную ниже строку в свой uiSchema

"ui:order": ["item1", "item2","item1conditional"]

, и uiSchema в вашем приложении. js станет

const uiSchema = {
 "ui:order": ["item1", "item2","item1conditional"],
 description: {
   "ui:widget": "textarea",
   classNames: "foo"
 }
};

Убедитесь, что вы добавляете все элементы, которые добавляете в будущем на это, иначе вы получите ошибку.

...