You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug(cdk/text-field): cdkTextareaAutosize caches line height before matInput applies font: inherit, so min/max rows are wrong #33944
Yes, this behavior used to work in the previous version
The previous version in which this bug was not present was
14.x (verified on v14.material.angular.dev, Angular 14.0.0)
Description
When cdkTextareaAutosize is used on a matInput textarea inside mat-form-field, the cached line height used for cdkAutosizeMinRows / cdkAutosizeMaxRows is measured with the browser's default textarea font instead of the form field's font. As a result, min-height / max-height are too small until the window is resized.
Cause (as far as I can tell):
CdkTextareaAutosize measures and caches the line height on the first ngDoCheck (resizeToFitContent → _cacheTextareaLineHeight, cloning the textarea with rows=1).
MatInput applies font: inherit via the class mat-mdc-form-field-input-control, which is a dynamic host binding ('[class.mat-mdc-form-field-input-control]': '_isInFormField').
Host bindings are applied after ngDoCheck in the first change detection pass. So at measuring time the textarea (and its clone) still uses the UA default textarea font (Chrome: monospace 13.33px, line-height: normal ≈ 15px).
The wrong value stays cached until a window resize clears it.
Measured on the official docs example (cdkAutosizeMaxRows="5", actual line height 24px):
Docs
Angular
measured line height
max-height
v14
14.0.0
18px (correct)
90px
v15
15.1.1
15px
75px
v17
17.3.0
15px
75px
v19
19.2.6
15px
75px
v21
21.2.11
15px
75px
current
22.2.1
15px
75px (expected 120px)
It started with v15, i.e. the switch to the MDC-based form field.
Workaround: a global style so the textarea inherits the font before the first measurement:
Hi! I'd like to investigate this issue and contribute a fix. I'll reproduce the reported behavior first, then trace the autosize line-height measurement and add a regression test. Please let me know if the team has any concerns or if someone is already working on this.
Activity
parvnirmal57 commentedon Oct 14, 2026
Hi! I'd like to investigate this issue and contribute a fix. I'll reproduce the reported behavior first, then trace the autosize line-height measurement and add a regression test. Please let me know if the team has any concerns or if someone is already working on this.