当前位置:   article > 正文

element-ui select 多选 实现自定义option样式_elementui多选框样式更改

elementui多选框样式更改

element-ui或者element-plus没有api来支持自定义多选option的样式,今天他来了,话不多说,直接上图。

 选择option,回显对应的标题和颜色 

  1. created生命周期里面创建<style></style>标签
    1. created(){
    2. this.tagStyleElem =
    3. window.document.head.appendChild(document.createElement('style'))
    4. }

    注:tagStyleElem 为自定义变量

  2. 在select上绑定class样式和change事件

    1. <el-select
    2. v-model="value"
    3. multiple
    4. filterable
    5. class="tagStyle"
    6. placeholder="请选择标签"
    7. @change="change"
    8. >
    9. <el-option
    10. v-for="item in tagsList"
    11. :key="item.code"
    12. :label="item.name"
    13. :value="item.id"
    14. >
    15. {{ item.name }}
    16. </el-option>
    17. </el-select>

  3. change事件里处理样式

  1. // 选中替换option的样式
  2. change() {
  3. //this.value 绑定的所选中的值
  4. this.tagStyleElem.innerHTML = this.value
  5. .map(
  6. (value, index) =>
  7. `.tagStyle .el-tag:nth-child(${index + 1})
  8. {
  9. color: rgb(${this.tagsList.find((item) => value == item.id)?.colour});
  10. border-color: rgb(${this.tagsList.find((item) => value == item.id)?.colour});
  11. background-color: rgba(${this.tagsList.find((item) => value == item.id)?.colour},0.1);
  12. }`
  13. )
  14. .join('')
  15. },

注:tagsList为option数据,找到其对应的id,更改其中的样式

总结:主体的思想就是拿到对应数据,更改每个子项的el-tag 的样式即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/107232
推荐阅读
相关标签
  

闽ICP备14008679号