按boolean属性对FormArray排序

时间:2018-12-25 09:45:22

标签: angular typescript

我有一个FormForm,其中我将其与一个表单组一起推送,我想使用isAM属性对这个FormArray进行排序(isAM是布尔值),以便在显示具有isAM true的内容时首先显示

let identifiersControl: FormArray = <FormArray>this.editOrganizationForm.controls['identifiers'];

organization.identifiers.forEach(identifier => {
   identifiersControl.push(this.fb.group({
         typeIdentifier: this.fb.group({ id: identifier.typeIdentifier.id }),
         numIdentifier: identifier.numIdentifier,
         isAM: [identifier.isAM]
   }))
}

1 个答案:

答案 0 :(得分:0)

patchValue可用于更新初始formArray

this.identifiersControl.push(this.fb.group({
         typeIdentifier: this.fb.group({ id: identifier.typeIdentifier.id }),
         numIdentifier: identifier.numIdentifier,
         isAM: [identifier.isAM]
   }))

let array = identifiersControl.value

array.sort((a, b) => a.isAM < b.isAm)

identifiersControl.patchValue(array)

实时代码here