Как установить минимальную ширину, динамически рассчитанную с помощью машинописи на mat-select-panel? - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь установить минимальную ширину с помощью моего пользовательского вычисления машинописи на mat-select-panel. Поскольку материал добавил оверлейный код во время выполнения, он не добавляет мою вычисленную минимальную ширину с помощью Renderer2 или чистого JavaScript. По сути, я хочу установить mat-select-panel такой же ширины, как ширина поля mat-form-field. Если я добавлю некоторую задержку, то это установит мою минимальную ширину, но это ухудшит интерфейс.

Я уже пробовал с openedChange() событием mat-select. Я написал свой код вычисления ширины с помощью метода renderer2 setStyle в методе opensChange (), но он не применяется. Материал переопределяет мою минимальную ширину.

openedChange(){
 const element = document.getElementsByClassName('mat-select-panel');
 const flags = RendererStyleFlags2.Important + RendererStyleFlags2.DashCase;
 this.renderer.setStyle(element[0], 'min-width', `${this.offsetWidth}px`, flags); // offsetWidth is same as mat-form-field width
}

Ожидаемый результат добавлен в мои пользовательские вычисления min-width в классе mat-select-panel, но на самом деле он не добавлен в мою min-width. Материал автоматически вычисляет время выполнения и добавляет его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...