Перейти к основному содержимому

ModelArray

Defined in: model/types.ts:130

Реактивный массив модели. Мутации (push/removeAt/…) меняют длину реактивно; map/forEach/at отдают под-модель элемента (FormModel) для объектных элементов.

Type Parameters​

U​

U

Indexable​

[index: number]: ModelValue<U>

Индексный value-доступ.

Methods​

[iterator]()​

iterator: IterableIterator<ModelArrayItem<U>>;

Defined in: model/types.ts:164

Обход for…of / spread — те же элементы, что у forEach.

Returns​

IterableIterator<ModelArrayItem<U>>


at()​

at(index): NonNullable<U> extends object ? ModelArrayItem<U> : ModelArrayItem<U> | undefined;

Defined in: model/types.ts:154

Элемент по индексу: объект → под-модель, массив → ModelArray, лист → значение.

Parameters​

index​

number

Returns​

NonNullable<U> extends object ? ModelArrayItem<U> : ModelArrayItem<U> | undefined


clear()​

clear(): void;

Defined in: model/types.ts:152

Очистить массив.

Returns​

void


forEach()​

forEach(fn): void;

Defined in: model/types.ts:160

Итерация по элементам (см. ModelArrayItem).

Parameters​

fn​

(item, index) => void

Returns​

void


insertAt()​

insertAt(index, item?): void;

Defined in: model/types.ts:144

Вставить элемент по индексу. Без значения — элемент по шаблону, как у push.

Parameters​

index​

number

item?​

U

Returns​

void


map()​

map<R>(fn): R[];

Defined in: model/types.ts:158

Map по элементам (объект → FormModel, Opaque/примитив → значение, массив → ModelArray).

Type Parameters​

R​

R

Parameters​

fn​

(item, index) => R

Returns​

R[]


move()​

move(from, to): void;

Defined in: model/types.ts:148

Переместить элемент.

Parameters​

from​

number

to​

number

Returns​

void


push()​

push(item?): void;

Defined in: model/types.ts:142

Добавить элемент в конец (значение элемента целиком). Без значения — элемент по шаблону массива (arrayOf(blank) в модели); шаблона нет — ошибка.

Parameters​

item?​

U

Returns​

void


removeAt()​

removeAt(index): void;

Defined in: model/types.ts:146

Удалить элемент по индексу.

Parameters​

index​

number

Returns​

void


swap()​

swap(a, b): void;

Defined in: model/types.ts:150

Поменять местами два элемента.

Parameters​

a​

number

b​

number

Returns​

void


toArray()​

toArray(): U[];

Defined in: model/types.ts:162

Снимок массива значений (без подписки).

Returns​

U[]

Properties​

__path​

readonly __path: string;

Defined in: model/types.ts:135

Путь массива в модели (dot-нотация). Предоставляется рантаймом (value-прокси) и требуется рендер-слою для резолва узла массива (напр. ArrayRenderNode в @reformer/renderer-react).


length​

readonly length: number;

Defined in: model/types.ts:137

Реактивная длина.