ionic4中怎么修改宿主样式

妖精的绣舞 提交于 2020-01-21 02:43:26
这里拿 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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!