Luego de tanto luchar pudimos hallar el arreglo de esta cuestión que muchos los lectores de este sitio tienen. Si tienes algún dato que aportar no dudes en compartir tu información.
Solución:
El problema es que la lista de chips errorState
no está configurado para true
cuando la lista de chips FormArray
el estado es INVALID
.
Estoy enfrentando el mismo problema y no sé por qué esto no funciona de inmediato o cómo se puede lograr implícitamente con el formulario de chipList como un FormArray
.
Como solución temporal, puede escuchar los cambios de estado desde el FormArray
y establecer el chipList errorState
a mano:
@ViewChild('chipList') chipList: MatChipList;
ngOnInit()
this.myForm.get('names').statusChanges.subscribe(
status => this.chipList.errorState = status === 'INVALID'
);
Desafortunadamente, no es posible usar ninguno de los validadores predefinidos de Angular porque no están diseñados para funcionar con matrices. Me las arreglé para hacerlo con la ayuda de este artículo:
https://www.dev6.com/Angular_Material_Chips_with_Reactive_Forms_and_Custom_Validation
Recuerda que tienes la capacidad de agregar una reseña si hallaste tu conflicto en el momento justo.