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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • a memorable day_the origin of mid autumn

    a memorable day_the origin of mid autumn(Verb)Pronunciation:[kê-‘lêm-nee-eyt]Definition:Tomakemaliciousstatementsknowntobefalseinaneffortto…

    2025年5月23日
    1
  • 微软输入法打不了拼音_微软拼音输入法怎么用

    微软输入法打不了拼音_微软拼音输入法怎么用
    尽管已经来到了2010版本,依然无法快速地输入各种特殊符号。
    谁会愿意为了输入一个黑方框“■”,让自己繁忙的手离开键盘,
    让自己疲劳的眼神聚焦到输入条→一路猛击软键盘→特殊符号→选择→关闭软键盘呢?
     
    而如果你使用搜狗或其它同一时代(注意注意同一时代)的拼音输入法,
    完全没有这个烦恼,你只需要轻敲fk,出来的备选里再敲某个数字键就完成了。
     
    这么多年了,微软依然不懂得中国人需要一个什么样的拼音输入法,
    哪怕它可能

    2022年8月30日
    0
  • python一般用来做什么?

    python一般用来做什么?python作为现在一门非常火的语言,它的运用场景非常的广泛,其实很多开发语言都可以用在不同的领域做开发.python并不为特定目的而产生。不过它就是一个通用的脚本语言,也被称做胶水语言,胶水是指,p

    2022年7月3日
    25
  • img图片加载失败?

    img图片加载失败?问题场景在工作中经常会使用标签进行图片展示,但是经常有图片加载失败的情况发生(图片地址不存在、图片已经删除等)。场景再现图片加载失败时的用户体验是很不好的。虽然标签有alt属性可以展示文本,但是用户体验依然差。代码:&amp;amp;amp;amp;amp;amp;lt;imgalt=&amp;amp;amp;amp;amp;quot;头像&amp;amp;amp;amp;amp;quot;src=&amp;amp;amp;amp;amp;quot;$

    2022年6月2日
    50
  • Word域代码:TOA,自动生成目录

    Word域代码:TOA,自动生成目录 示例:TOC/o”1-3″/h/z/u———————————————————————–域代码:TOA(引文目录)域域代码:TOA(引文目录)域{TOC[Switches]}建立一个目录。TOC域根据标题级别、指定样式或由TC(目录项)域指定的项目来收集目录项。在使用“插入”

    2022年5月7日
    131
  • node 的运行命令

    node 的运行命令node 的运行命令

    2022年4月23日
    360

发表回复

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

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