这里拿 ion-select 做测试
ionViewDidEnter() { // tslint:disable-next-line:variable-name const select_elements = (this.el.nativeElement.querySelectorAll('ion-select')); const styles = ` .select-text { color:red; } `; select_elements.forEach((element) => { this.injectStyles(element, '.select-text', 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)); }
记得导入 ElementRef
import {Component, ElementRef, OnInit} from '@angular/core';
参考博客:https://www.cnblogs.com/johnjackson/p/11927777.html
来源:https://www.cnblogs.com/0955xf/p/12220089.html