Я пытаюсь установить минимальную ширину с помощью моего пользовательского вычисления машинописи на 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. Материал автоматически вычисляет время выполнения и добавляет его.