当前位置:   article > 正文

利用jquery修改elment的自定义组件多选框el-select(修改多选框的颜色)_el-select渲染颜色

el-select渲染颜色

先上图片

一实现逻辑  我们知道element颜色默认为灰色,首先便签名称是唯一的,我的实现逻辑是后端传给前端

含有颜色,名称的数组,然后vue记录一个对象{名称 => 颜色},当用户选择标签之后,触发

点击事件,然后去除框中的名称,然后一一渲染颜色。

二代码实现

 

  1. handleExpandChange() {
  2. this.$nextTick(function () {
  3. let cc = this.$refs['myCascader'].popperJS
  4. if (cc != null) {
  5. let c = cc._popper
  6. let b = c.getElementsByClassName('el-cascader-panel')
  7. let d = b[0].childNodes
  8.   //修改列表
  9. //增加按钮
  10. if(rightShow('CrmContact@getContactLabel')) {
  11. let left = d[0];
  12. if(left != null) {
  13. let e = left.getElementsByClassName("el-scrollbar__view")
  14. let child = e[0]
  15. let childLength = child.getElementsByClassName("el-cascader-node");
  16. if(childLength.length <= 5) {
  17. $(child).append(`<li role="menuitem" id="cascader-menu-7218-0-3" tabindex="-1" class="el-cascader-node" aria-haspopup="true" aria-owns="cascader-menu-7218-0"><label class="el-checkbox"><span class="el-checkbox__input button-icon-color"><span class="el-icon-plus"></span><input type="checkbox" aria-hidden="false" class="el-checkbox__original" value=""></span></label><span class="el-cascader-node__label"><div type="button" class="button-add-tags" onclick="vue.fn()"><tags:lang>新增标签</tags:lang></div></span></li>`)
  18. }
  19. }
  20. } //修改标签颜色
  21. //改变颜色
  22. let f = d[1];
  23. if(f != null) {
  24. f.style.minWidth = "220px"
  25. let e = f.getElementsByClassName("el-cascader-node");
  26. for(let i = 0; i < e.length; i++) {
  27. e[i].style.height = "40px"
  28. let objLeft = e[i].getElementsByTagName("label")
  29. objLeft[0].style.float = "right"
  30. objLeft[0].style.marginLeft = "70px"
  31. objLeft[0].style.bottom = "3px"
  32. e[i].append(objLeft[0])
  33. let obj = e[i].getElementsByTagName("span")
  34. obj[0].style.backgroundColor = this.allTags[obj[0].innerHTML]['value']
  35. obj[0].style.color = "#fff"
  36. obj[0].style.maxWidth = "500px"
  37. obj[0].style.maxHeight = "28px"
  38. obj[0].style.textAlign = "center"
  39. obj[0].style.lineHeight = "28px"
  40. obj[0].title= e[i].innerHTML
  41. }
  42. }
  43. }
  44. })
  45. },

如需源码,请评论你的邮箱

 

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

闽ICP备14008679号