angular / angular/components

perf(cdkTextareaAutosize): Skip height measurements when textarea value is empty

Offen
#24,210 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: cdk/text-field G P3
Vorherrschende Sprache
TypeScript
Sterne
25k
Forks
6.8k
Ø Merge
1 T. 8 Std.
Gemergte PRs (30 T.)
91

Beschreibung

### Is this a regression?

- [ ] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

_No response_

### Description

Calls to _measureScrollHeight, which trigger css layout, are not needed when there's nothing in the text field. In this case, simply set the height to 1 row (height of one line).

See internal CL 421826236 for more context.

### Reproduction

Steps to reproduce:
1. Bootstrap a textarea with cdkTextareaAutosize that has value of '' (empty)

### Expected Behavior

_measureScrollHeight() called only when there's a non-empty value.

### Actual Behavior

_measureScrollHeight() is called regardless of value.

### Environment

- Angular: 13
- CDK/Material: 13
- Browser(s): All
- Operating System (e.g. Windows, macOS, Ubuntu): All

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne bei der cdkTextareaAutosize-Implementierung und verfolge den Einstiegspunkt _measureScrollHeight anhand eines textarea-Elements, dessen Wert leer ist. Bestätige, dass leere Werte eine einzeilige Höhe ohne Messung verwenden, während nicht leere Werte das Messverhalten beibehalten; füge den relevanten Test hinzu oder aktualisiere ihn, falls der Teststandort der Implementierung identifiziert wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, typescript
Bereich
frontend, performance
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.