ionViewDidEnter() { let select_elements = (this.el.nativeElement.querySelectorAll('ion-select')); const styles = ` .select-icon, .select-icon-inner { display: none; } .select-placeholder { color: #bfbfbf; } `; select_elements.forEach((element) => { this.injectStyles(element, '.select-icon', styles); }); }
injectStyles( shadowRootElement: HTMLElement, insertBeforeSelector: string, styles: string ) { const root = shadowRootElement.shadowRoot; const newStyleTag = document.createElement('style'); newStyleTag.innerHTML = styles; root.insertBefore(newStyleTag, root.querySelector(insertBeforeSelector)); }
github上有個injectStyles庫函數,但是實現有問題,我看了一下它的源碼,自己實現了一下,就是上面這個injectStyles()。