Skip to content

Commit e10a07d

Browse files
authored
refactor: Remove use of zone onStable in autosize textarea example (#28662)
1 parent 0d232a6 commit e10a07d

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/components-examples/cdk/text-field/text-field-autosize-textarea/text-field-autosize-textarea-example.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {CdkTextareaAutosize, TextFieldModule} from '@angular/cdk/text-field';
2-
import {Component, NgZone, ViewChild} from '@angular/core';
3-
import {take} from 'rxjs/operators';
2+
import {afterNextRender, Component, inject, Injector, ViewChild} from '@angular/core';
43
import {MatInputModule} from '@angular/material/input';
54
import {MatSelectModule} from '@angular/material/select';
65
import {MatFormFieldModule} from '@angular/material/form-field';
@@ -14,12 +13,19 @@ import {MatFormFieldModule} from '@angular/material/form-field';
1413
imports: [MatFormFieldModule, MatSelectModule, MatInputModule, TextFieldModule],
1514
})
1615
export class TextFieldAutosizeTextareaExample {
17-
constructor(private _ngZone: NgZone) {}
16+
private _injector = inject(Injector);
1817

1918
@ViewChild('autosize') autosize: CdkTextareaAutosize;
2019

2120
triggerResize() {
22-
// Wait for changes to be applied, then trigger textarea resize.
23-
this._ngZone.onStable.pipe(take(1)).subscribe(() => this.autosize.resizeToFitContent(true));
21+
// Wait for content to render, then trigger textarea resize.
22+
afterNextRender(
23+
() => {
24+
this.autosize.resizeToFitContent(true);
25+
},
26+
{
27+
injector: this._injector,
28+
},
29+
);
2430
}
2531
}

0 commit comments

Comments
 (0)