vue漂亮的树控件_前端树形控件

vue漂亮的树控件_前端树形控件实现效果与原理我们希望实现鼠标移动至树型结构的结点上就显示按钮,移出就隐藏按钮实现原理:是通过@mouseenter和@mouseleave两个属性来控制鼠标hover的效果,再配合v-sho

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

实现效果与原理

我们希望实现鼠标移动至树型结构的结点上就显示按钮,移出就隐藏按钮
 
实现原理:是通过@mouseenter@mouseleave两个属性来控制鼠标hover的效果,再配合v-show来控制是否展示你需要的控件
vue漂亮的树控件_前端树形控件
 

具体代码

<el-tree
  :data="data"
  ref="tree"
  default-expand-all
  node-key="id"
  :expand-on-click-node="false">
  <span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
    <span>{{ node.label }}</span>
    <span>
      <el-tooltip v-show="data.show" class="item" effect="dark" content="文字提示" placement="top">
        <el-button
          type="text"
          size="mini"
          @click="() => append(data)"
          icon="el-icon-plus"
        >
        </el-button>
      </el-tooltip>
      <el-dropdown v-show="data.show" @command="handleCommand">
        <span class="el-dropdown-link">
          <i class="el-icon-more"></i>
        </span>
        <el-dropdown-menu slot="dropdown">
          <el-dropdown-item command="addFolder">新增文件夹</el-dropdown-item>
          <el-dropdown-item command="edit">编辑</el-dropdown-item>
          <el-dropdown-item command="delete">删除</el-dropdown-item>
        </el-dropdown-menu>
      </el-dropdown>
    </span>
  </span>
</el-tree>
<script>
export default {
  data() {
    const data = [{
      id: 1,
      label: '一级 1',
      children: [{
        id: 4,
        label: '二级 1-1',
      }]
    }, {
      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',
      }]
    }]
    return {
      defaultProps: {
        children: 'children',
        label: 'label'
      },
      data: JSON.parse(JSON.stringify(data))
    }
  },
  methods: {
    mouseenter(data) {
      this.$set(data, 'show', true)
    },
    mouseleave(data) {
      this.$set(data, 'show', false)
    },
  }
}
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164813.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python导入tensorflow方法_python导入包

    python导入tensorflow方法_python导入包若是你也遇到这个问题,说明你也没有理解tensorflow到底在哪里。当安装了anaconda3.6后,在PyCharm中设置interpreter,这个解释器决定了你在PyCharm环境中写的代码采用什么方式去执行。若是你的设置是anaconda下的python.exe。就会发现在PyCharm中写入importtensorflwoastf时,就会报错,提示没有tensorflow模块,…

    2022年8月27日
    6
  • 【mysql】锁详解

    【mysql】锁详解【mysql】锁详解

    2022年4月25日
    39
  • 深入JAVA注解(Annotation):自定义注解

    深入JAVA注解(Annotation):自定义注解一、基础知识:元注解要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解:  元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它annotation类型作说明。Java5.0定义的元注解:    1.@Targe…

    2022年7月13日
    19
  • MemWatch的使用「建议收藏」

    MemWatch的使用「建议收藏」博主的新Blog地址:http://www.brantchen.com欢迎訪问:)      linux下的測试工具真是少之又少,还不好用,近期试用了memwatch,感觉网上的介绍不太好,所以放在这里跟大家分享 。事实上大部分都是看的帮助,非常多地方翻译得不好还有错,请原谅指出最好看原文。假设转载或引用,请注

    2022年7月13日
    17
  • CString——Left、Right、Find、ReverseFind

    CString——Left、Right、Find、ReverseFind

    2021年12月7日
    46
  • WIN7系统配置maven环境变量「建议收藏」

    WIN7系统配置maven环境变量「建议收藏」1.maven程序包下载地址:maven下载后解压到想要安装的位置,我直接放到C盘下了然后配置他的环境变量新建一个MAVEN_HOME,变量值复制自己的路径黏贴即可:将%MAVEN_HOME%\bin;添加到Path后面按住WIN+R组合键,输入CMD回车,在DOS窗口输入mvn-v测试安装结果,成功后如下图:2.配置maven本地仓库在C盘新建apache-mave…

    2022年6月18日
    84

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号