iview“官方“实现的右键菜单
程序员文章站
2022-06-21 22:55:19
博客开篇,没想到第一篇博文竟然是前端的,虽略显尴尬,但正能量溢出,你我可能遇到同样问题,在这里分享下个人方案,希望对你有用。 官方目前不提供右键菜单,这里借助Dropdown(下拉菜单)来实现,故为“官方“。 既然Dropdown有类似功能,如果将其文字隐藏,并且在合适时机弹出,便可实现,其自身就是 ......
博客开篇,没想到第一篇博文竟然是前端的,虽略显尴尬,但正能量溢出,你我可能遇到同样问题,在这里分享下个人方案,希望对你有用。
官方目前不提供右键菜单,这里借助dropdown(下拉菜单)来实现,故为“官方“。
既然dropdown有类似功能,如果将其文字隐藏,并且在合适时机弹出,便可实现,其自身就是iview中一个组件,不言而喻,功能强大、简洁。
源码之下,了无秘密,简单陈述下思路,在模板中正常使用dropdown组件,属性、样式需要单独设置(style="display:none" trigger="click"),即默认不显示,click触发,右键按下时首先设置其可见,在更改reference对象引用即可。
模板如下
逻辑如下:
截图效果:
源码跟踪:
一。标签a不可见,原本以为只要改变left top,菜单会自动跟随,其位置是通过调用元素的getboundingclientrect来获取,因标签不可见,拿到都是0,此路不通,pass;
二。也可以改变标签的z-index顺序,使其在目标节点之下,这里动态改变其引用节点来实现。
理论上任何组件都可实现右键菜单。