Reactive forms inside virtual scroll list yield buggy behaviour
- Lenguaje dominante
- TypeScript
- Estrellas
- 25k
- Forks
- 6.8k
- Merge medio
- 1 d 8 h
- PR fusionados (30 d)
- 91
Descripción
## I'm submitting a...
[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question
[ ] Other... Please describe:
## Current behavior
Reactive forms inside a virtual scroll list, should behave as expected. It looks like virtual scroll takes over and manipulates index which yields in erratic behaviour. If we check the last item in form array as checked and then go back to top and come back again to bottom, it is marked checked again. Tried external index as well but that didn't help either.
## Expected behavior
Reactive forms especially checkboxes should behave normally, and their values should belong to
appropriate ones only. Marking one checked should not affect others.
## Minimal reproduction of the problem with instructions
## What is the motivation / use case for changing the behavior?
For heavy or huge reactive forms, virtual lists should render form controls normally.
## Environment
Angular 7 and CDK 7
Angular version: 7.0.0
Browser:
- [x] Chrome (desktop) version 67.0.3396.87
- [x] Firefox version latest
- [x] Safari (desktop) version 12
- [x] IE version 11
Others:
Code sample can be seen on [stackblitz](https://stackblitz.com/edit/angular-mnd3k1) or [here](https://stackblitz.com/edit/angular-mnd3k1)
Guía de contribución
Línea de trabajo
Empieza ejecutando la reproducción enlazada de StackBlitz e inspecciona la interacción entre la lista de desplazamiento virtual de Angular CDK y los valores de los checkbox del formulario reactivo mientras te desplazas. Reproduce la secuencia indicada: marcar el último elemento, volver al principio y desplazarte de nuevo hasta el final; se considera completado cuando cada checkbox conserva únicamente su propio valor durante toda esa secuencia en los navegadores indicados.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- angular, typescript
- Área
- frontend
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100