<el-tree class="filter-tree" :render-content="renderContent" :data="data" :props="defaultProps" default-expand-all :filter-node-method="filterNode"    ref="tree">  </el-tree>
  export default {    data() {      return {            data: [{          id: 1,          label: '一级 1',          is_show:false,          children: [{            id: 4,            label: '二级 1-1',            is_show:false,            children: [{              id: 9,              is_show:false,              label: '三级 1-1-1'            }, {              id: 10,              is_show:false,              label: '三级 1-1-2'            }]          }]        }],        defaultProps: {          children: 'children',          label: 'label'        }      }    },  methods: {        append(data) {        const newChild = { id: id++, label: 'testtest', children: [] };        if (!data.children) {          this.$set(data, 'children', []);        }        data.children.push(newChild);      },      remove(node, data) {        const parent = node.parent;        const children = parent.data.children || parent.data;        const index = children.findIndex(d => d.id === data.id);        children.splice(index, 1);      },      /**这里是要害一步,实现hover */      renderContent(h, { node, data, store }) {        console.log(data)        return (          <span class="custom-tree-node" on-mouseover={()=>{data.is_show=true}}  on-mouseout={()=>{data.is_show=false}}>            <span>{node.label}</span>            {              data.is_show ?               <span>              <el-button size="mini" type="text" on-click={() => this.append(data)}>增加</el-button>              <el-button size="mini" type="text" on-click={() => this.remove(node, data)}>编辑</el-button>              <el-button size="mini" type="text" on-click={() => this.remove(node, data)}>删除</el-button>             </span> : null            }          </span>);      },    }