3.0 KiB
3.0 KiB
主题功能说明
说明
- 对项目中的主题相关颜色进行归类、抽取变量
- 代码中设置元素的颜色时,对主题相关色应使用变量,不应使用颜色值
- 切换主题时,更改body标签上的class
源码改动
- theme-chalk/src/common/var.scss 首行增加$--theme属性
- theme-chalk/src/mixins/mixins.scss 改动较多,如需了解请比对文件差异
- // $arrow-selector: #{& + '__arrow'};
改为 $arrow-selector: '.el-popper__arrow';
20240118__element-plus升级
变动事项
- elemen-plus由1.0.2-beta.71升级至2.5.1,旧版本是将element-plus源文件放到theme/src中进行部分修改使用,现在弃用该方案,直接使用element-plus组件,部分组件有差异改动,对比界面进行调整并记录在cover-element.scss
- 弃用之前的主题写法,改为官网的主题切换方法。删除body上的class,在html上添加class="dark"。默认明亮主题light,暗黑主题dark,默认引入theme-light.scss样式文件,暗黑主题theme-dark.scss样式文件
- 如需添加暗黑样式,先在theme-light.scss添加唯一样式名,再到theme-dark中添加同名样式。如在light中添加字体颜色$--text-color-1: #353636;,则需要在dark中添加$--text-color-1: #d8d8d8;
- header.vue的第四级面包屑导航栏,以及NetworkOverviewTabs.vue第一列搜索的popover。原结构的popover被上一层div包裹,但在html中解析成两个div,原来的popper-class需要提出来,不要在原div的class下,否则样式错乱
新旧组件差异
- table表格:自定义单元格样式cell-style。老版cell-style接受格式为string/object,新版疑似仅接受object,string格式会报错。表头格式header-cell-style同理。
- input输入框1:老版el-input是包含class为el-input__inner的input,新版el-input在此基础上被class="el-input__wrapper"的div包裹。在老版的el-input__inner改动的样式,需要在el-input__wrapper上修改
- input输入框2:老版给input添加icon,是给属性prefix-icon添加icon名。新版是在prefix插槽里添加icon标签
- icon图标:老版使用:。新版则是svg文件,需要单独引入封装成component的格式,使用时:
- select选择器:新版被el-select__wrapper的div包裹,与旧版顺序不同。
-
- input和select的右侧图标和maxlength间距新版比旧版略大
- drawer抽屉:在header.vue中遇到,custom-class="cn-menu",渲染后class中没有cn-menu,也许是按需引入导致的,额外标注
- message-box弹窗:新版在旧版的el-message-box的外层包裹了一层父div el-overlay-message-box,导致原样式会错乱
- dialog: custom在2.4版本后被移除,使用class替代,插槽中的title也在2.4版本后移除,使用header替代
- tabs: 点击tabs,tab-click有延迟,v-model获取的信息是上一个路由的信息,使用tab-change获取的v-model则是实时的,根据使用内容进行取舍。tab-change在2.1.8版本上线