@@ -141,6 +141,7 @@ export const MAT_FORM_FIELD_DEFAULT_OPTIONS =
141
141
export class MatFormField extends _MatFormFieldMixinBase
142
142
implements AfterContentInit , AfterContentChecked , AfterViewInit , CanColor {
143
143
private _labelOptions : LabelOptions ;
144
+ private _outlineGapCalculationNeeded = false ;
144
145
145
146
/** The form-field appearance style. */
146
147
@Input ( )
@@ -300,6 +301,9 @@ export class MatFormField extends _MatFormFieldMixinBase
300
301
301
302
ngAfterContentChecked ( ) {
302
303
this . _validateControlChild ( ) ;
304
+ if ( this . _outlineGapCalculationNeeded ) {
305
+ this . updateOutlineGap ( ) ;
306
+ }
303
307
}
304
308
305
309
ngAfterViewInit ( ) {
@@ -448,6 +452,11 @@ export class MatFormField extends _MatFormFieldMixinBase
448
452
return ;
449
453
}
450
454
455
+ if ( ! document . documentElement . contains ( this . _elementRef . nativeElement ) ) {
456
+ this . _outlineGapCalculationNeeded = true ;
457
+ return ;
458
+ }
459
+
451
460
let startWidth = 0 ;
452
461
let gapWidth = 0 ;
453
462
const startEls = this . _connectionContainerRef . nativeElement . querySelectorAll < HTMLElement > (
@@ -459,9 +468,6 @@ export class MatFormField extends _MatFormFieldMixinBase
459
468
// getBoundingClientRect isn't available on the server.
460
469
return ;
461
470
}
462
- if ( ! document . documentElement . contains ( this . _elementRef . nativeElement ) ) {
463
- return ;
464
- }
465
471
466
472
const containerStart = this . _getStartEnd (
467
473
this . _connectionContainerRef . nativeElement . getBoundingClientRect ( ) ) ;
@@ -481,6 +487,8 @@ export class MatFormField extends _MatFormFieldMixinBase
481
487
for ( let i = 0 ; i < gapEls . length ; i ++ ) {
482
488
gapEls . item ( i ) . style . width = `${ gapWidth } px` ;
483
489
}
490
+
491
+ this . _outlineGapCalculationNeeded = false ;
484
492
}
485
493
486
494
/** Gets the start end of the rect considering the current directionality. */
0 commit comments