Options
All
  • Public
  • Public/Protected
  • All
Menu

Class FieldArrayModel<Item, Child>

Type parameters

  • Item

  • Child: IModel<Item> = IModel<Item>

Hierarchy

Index

Properties

Protected Readonly _displayName

_displayName: "FieldArrayModel" = 'FieldArrayModel'

Model display name

Optional Readonly builder

builder: FieldArrayBuilder<BasicBuilder<Item, Child>>

当前 FieldArrayModel 对象的 builder 对象,仅在 Model 模式下可用。

Readonly children$

children$: BehaviorSubject<Child[]>

destroyOnUnmount

destroyOnUnmount: boolean = false

组件 unmount 的时候删除 model

Readonly error$

error$: BehaviorSubject<IValidateResult<readonly Item[]>> = ...

Readonly id

id: string

normalizeBeforeSubmit

normalizeBeforeSubmit: INormalizeBeforeSubmit<Item[], any> = ...

用于表单提交前格式化 FieldArray 值的回调函数

owner

owner: IModel<any> = null

Accessors

children

  • get children(): readonly Child[]

error

form

  • get form(): FormModel<UnknownFieldSetModelChildren>

valid$

  • get valid$(): BehaviorSubject<boolean>

value

  • get value(): readonly Item[]

value$

  • get value$(): BehaviorSubject<readonly Item[]>

Methods

_getValid$

  • _getValid$(shouldWarn?: boolean): BehaviorSubject<boolean>

clear

  • clear(): void

clearError

  • clearError(): void

dirty

  • dirty(): boolean

dispose

  • dispose(): void

filter

  • filter(predicate: (item: Child, index: number, array: Child[]) => boolean): FieldArrayModel<Item, Child>
  • 仅保留 predicate 返回 true 的子 Model。用于按一定条件批量过滤,相比重复调用 splice 效率更高。 该方法直接操作当前的 FieldArrayModel 对象。

    Parameters

    • predicate: (item: Child, index: number, array: Child[]) => boolean

      每个子 Modelpredicate 函数,返回 true 在结果中保留该 Model

        • (item: Child, index: number, array: Child[]): boolean
        • Parameters

          • item: Child
          • index: number
          • array: Child[]

          Returns boolean

    Returns FieldArrayModel<Item, Child>

    当前 FieldArrayModel 对象

get

  • get(index: number): Child

getRawValue

  • getRawValue(): Item[]

getSubmitValue

  • getSubmitValue(): any

initialize

  • initialize(values: Item[]): void

patchValue

  • patchValue(value: Item[]): void

pop

  • pop(): Child

pristine

  • pristine(): boolean

push

  • push(...models: Child[]): number
  • push(...values: Item[]): number

reset

  • reset(): void

shift

  • shift(): Child

sort

  • sort(compareFn: (a: Child, b: Child) => number): FieldArrayModel<Item, Child>
  • FieldArrayModel 的子 Model 排序,该方法直接操作当前的 FieldArrayModel 对象。

    Parameters

    • compareFn: (a: Child, b: Child) => number

      比较函数,行为和 Array.prototype.sort 的比较函数一致

        • (a: Child, b: Child): number
        • Parameters

          • a: Child
          • b: Child

          Returns number

    Returns FieldArrayModel<Item, Child>

    当前 FieldArrayModel 对象

splice

  • splice(start: number, deleteCount: number, ...models: readonly Child[]): Child[]
  • splice(start: number, deleteCount: number, ...values: readonly Item[]): Child[]
  • FieldArray 的指定位置删除指定数量的元素,并添加指定的新元素

    Parameters

    • start: number

      开始删除的元素位置

    • deleteCount: number

      删除的元素个数

    • Rest ...models: readonly Child[]

      待添加的 Model

    Returns Child[]

    Model 对象,而不是 Model 对象上的值

  • FieldArray 的指定位置删除指定数量的元素,并添加指定的新元素

    Parameters

    • start: number

      开始删除的元素位置

    • deleteCount: number

      删除的元素个数

    • Rest ...values: readonly Item[]

      待添加的元素值

    Returns Child[]

    Model 对象,而不是 Model 对象上的值

touched

  • touched(): boolean

Protected triggerValidate

unshift

  • unshift(...models: Child[]): number
  • unshift(...values: Item[]): number

valid

  • valid(): boolean

validate

Generated using TypeDoc