簡體   English   中英

有沒有辦法以角反應形式搜索(過濾)FormArray?

[英]Is there a way to search(filter) the FormArray in angular reactive forms?

我正在尋找一個角度反應形式的用例,以基於key過濾FormArray中的動態表單控件輸入字段。我已經附上了我的實現的屏幕截圖。在搜索框中,我需要根據以下內容搜索以下屬性鍵。

Dynamic_Control_Filter

FormArray從AbstractControl類擴展而來,該類公開了使用最新值可觀察到的valueChanges 在表單中輸入的所有值都可以在該流的值中作為POJO使用。 您可以將此流與查詢結合,並過濾符合條件的值。 哎呀,您的搜索查詢可能與具有鍵值對的FormArray處於同一FormGroup中。

// ngOnInit for instance
form$.valueChanges.pipe(
  map(value => {
    // here, filter your key value pairs which meet your criteria and give them back in a way you can build your form in the HTML
  })
);

困難的是將可觀察的源映射到可以在HTML模板中使用的源,以便仍可以將相應的FormControl綁定到輸入。 因此,您的HTML外觀可能與標准FormArray示例略有不同,因為您不能直接通過表單而是通過自定義生成的流* ngFor。 您仍然可以僅通過執行[formControl]="myMethodToGetTheRightControl(blabla)"將每個輸入綁定到相應的FormControl,而無需使用formArrayNameformGroupNameformControlName

因此,也許不是那么簡單,但是可以做到。 如果您用您的(部分)代碼給人以沉思,那么我可以為您弄清楚我的概念,以表明我的意思。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM