当前位置:   article > 正文

vue引入的el-tree前添加图标_el-tree加图标

el-tree加图标

根据有没有子节点来显示 前面是文件夹还是文件的图标   (因为遇到了就记录了下来)

如果有子节点(children),就在前面加上一个文件夹的图标(片),如果没有子节点,就显示的是文件的图标(片)

只有部分代码,在要push的地方添加一个icon,然后动态绑定这个icon,注意名字要一样;

  1. <template>
  2. <div>
  3. <el-tree
  4. ref="addre"
  5. :load="loNo"
  6. :props="default-props"
  7. lazy
  8. node-key="id"
  9. show-checkbox
  10. :check-strictly="true"
  11. @check="heiChange"
  12. highlight-current
  13. :key="this.sho"
  14. >
  15. <span class="custom-tree-node" slot-scope="{ node, data }">
  16. <span v-if="data.label" :class="folder">{{ `(${data.label})` }}</span>
  17. <span v-if="!data.label" :class="data.icon"></span> //注意此处是动态的绑定下面 push进去定义好的icon名称;
  18. <span>{{ node.label }}</span>
  19. </span>
  20. </el-tree>
  21. </div>
  22. </template>
  23. <script>
  24. export default {
  25. data() {
  26. return {
  27. folder:'iconFolder', //显示文件夹 下面有css样式
  28. file:'iconFile', //显示文件 下面有css样式
  29. };
  30. },
  31. methods:{ //省略的点点不重要,
  32. loNo(aa,bb){
  33. var data = []
  34. //....
  35. if (res.folders) {
  36. //....
  37. data.push({
  38. //....
  39. icon:this.folder //在这里追加个icon就行了,然后调上面data里的名称
  40. })
  41. //....
  42. },
  43. if (res.files) {
  44. //....
  45. data.push({
  46. //....
  47. icon:this.files //在这里追加个icon就行了,然后调上面data里的名称
  48. })
  49. //....
  50. },
  51. }
  52. }
  53. };
  54. </script>
  55. //样式
  56. <style scoped>
  57. .iconFolder::before{ //样式名称与data里的对应
  58. /* background-color: aqua; */
  59. content:'';
  60. /* float: left; */
  61. display: inline-block;
  62. width: 15px;
  63. height: 15px;
  64. /* border: 1px solid#000; */
  65. background: url(../../assets/img/wenjianjia.png) no-repeat;
  66. background-size: 15px;
  67. }
  68. .iconFile::before{ //样式名称与data里的对应
  69. /* background-color: aqua; */
  70. content:'';
  71. /* float: left; */
  72. display: inline-block;
  73. width: 15px;
  74. height: 15px;
  75. /* border: 1px solid#000; */
  76. background: url(../../assets/img/wenjian.png) no-repeat;
  77. background-size: 15px;
  78. }
  79. </style>

还有一个方法我在看其他内容发现,也是在span标签里套用了俩个img标签 进行判断他们children的长度,如果大于0,就显示这个图片,不用再push里添加icon了,因为用的是img标签,所以图片直接放在了img上的src里了,就不用在这写css了。

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

闽ICP备14008679号