SchemaArrayNode
Defined in: form/types/schema-node.ts:151
Массив под-форм: у каждой строки своя форма, разметку строки строит item.
Example
{ model: model.$.phones, component: FieldArray, item: (row) => ({ children: [...] }) }
Extends
SchemaNodeBase
Properties
array?
optional array: undefined;
Defined in: form/types/schema-node.ts:114
Прежний ключ привязки массива — его нет: пишите model: model.$.<массив> вместе с item.
Inherited from
SchemaNodeBase.array
children?
optional children: undefined;
Defined in: form/types/schema-node.ts:166
component?
optional component: ComponentRef;
Defined in: form/types/schema-node.ts:98
UI-компонент либо нативный HTML-тег ('div', 'p', 'h3') для презентационной вёрстки
прямо в схеме. Опционален: ядро работает без UI и component не интерпретирует — он доезжает
до рендерера как есть.
Inherited from
SchemaNodeBase.component
componentProps?
optional componentProps: Record<string, unknown>;
Defined in: form/types/schema-node.ts:103
Пропсы компонента. Вложенных узлов здесь нет: обход схемы в пропсы не заглядывает, дети узла
пишутся в children.
Inherited from
SchemaNodeBase.componentProps
initialValue?
optional initialValue: unknown;
Defined in: form/types/schema-node.ts:164
Шаблон нового элемента массива для кнопки «Добавить»: либо готовое значение, либо фабрика
() => value. Запасной путь — для форм, чья модель создаётся из данных без кода: шаблон,
объявленный в модели (arrayOf(blank)), главнее.
Тип не различает варианты (union unknown | (() => unknown) схлопывается в unknown) —
рантайм различает по typeof initialValue === 'function'.
item()
item: (model) => FormSchemaNode;
Defined in: form/types/schema-node.ts:155
Схема строки: под-модель строки → узел поддерева.
Parameters
model
any
Returns
model
model: SchemaArrayHandle;
Defined in: form/types/schema-node.ts:153
Привязка — ручка массива model.$.<массив>.
part?
optional part: undefined;
Defined in: form/types/schema-node.ts:165
selector?
optional selector: string;
Defined in: form/types/schema-node.ts:105
Идентификатор узла: по нему узел адресуют поведение (schema.node(...)) и шаги визарда.
Inherited from
SchemaNodeBase.selector
value?
optional value: undefined;
Defined in: form/types/schema-node.ts:112
Прежний ключ привязки поля — его нет: пишите model: model.$.<поле>.
Запрет объявлен явно: в children узел стоит в объединении с реактивным текстом
(Signal, у которого есть value), и без него прежний ключ проходил проверку лишних ключей.
Inherited from
SchemaNodeBase.value