vue2 element-ui tree 自定义节点图标,当你需要使用一个普通的图片作为节点图标时

当你需要使用一个普通的图片作为节点图标时,可以使用以下方法
效果图如下
vue2 element-ui tree 自定义节点图标,当你需要使用一个普通的图片作为节点图标时_第1张图片

<template>
  <div>
    <!-- :default-expand-all='true' 是否默认展开所有节点:true,展开所有节点,false,收起所有节点-->
    <!-- icon-class="none" 左侧图标(小三角)隐藏,也可以添加组件库里的字体图标:比如icon-class="el-icon-caret-right"-->
    <el-tree :data="data" node-key="id" :props="defaultProps" :default-expand-all='true' >
      <span class="custom-tree-node" slot-scope="{ node }">
        <span> <i class="custom_icon"></i>{{ node.label }} </span>
      </span>
    </el-tree>
  </div>
</template>
<script>
export default {
  data() {
    return {
      data: [
        {
          id: 1,
          label: '一级 1',
          children: [
            {
              id: 4,
              label: '二级 1-1',
              children: [
                {
                  id: 9,
                  label: '三级 1-1-1'
                },
                {
                  id: 10,
                  label: '三级 1-1-2'
                }
              ]
            }
          ]
        },
        {
          id: 2,
          label: '一级 2',
          children: [
            {
              id: 5,
              label: '二级 2-1'
            },
            {
              id: 6,
              label: '二级 2-2'
            }
          ]
        },
        {
          id: 3,
          label: '一级 3',
          children: [
            {
              id: 7,
              label: '二级 3-1'
            },
            {
              id: 8,
              label: '二级 3-2'
            }
          ]
        }
      ],
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  }
}
</script>

<style lang="scss" scoped>
.custom_icon {
  background-image: url("./[email protected]"); //注意:路径改为你自己的
  background-size: cover;
  background-position: center;
  display: inline-block;
  width: 32px;
  height: 32px;
  vertical-align: middle;
}
</style>

你可能感兴趣的:(element-ui,elementui,vue)