如何解决在ExtJS 4网格中的行悬停上显示自定义菜单
|| 分为两部分的问题。首先,在ExtJS 4中,我将如何将悬停侦听器(也称为mouseenter,mouseout)附加到网格面板的行? 其次,我想要该事件的原因是,当该行中的任何单元格都悬停时,我可以在其中一个单元格中显示几个操作按钮。什么是实现此菜单(创建实际的html元素)的最有效方法。我的第一个想法是为将保存菜单的单元格创建一个渲染器,并返回该渲染器中最初隐藏的按钮的html。但是,由于将为网格中显示的每一行创建相同的按钮,因此似乎将大量html放入dom。解决方法
第1部分:
您可以通过在网格视图上跟踪itemmouseenter和itemmouseleave事件来执行此操作。但是,要触发这些事件,需要确保在网格视图上启用trackOver。
请注意,这全部适用于网格视图配置,而不适用于网格配置,并且由于性能原因,trackOver配置默认情况下处于关闭状态。您想在这些事件中做太多事情要小心。
第2部分:
更好的方法是为单元格定义一个编辑器,该编辑器是一个包含您要使用的按钮的组件。您可以使用第1部分中讨论的事件来触发编辑。这将意味着您的按钮可以像其他编辑器一样重复使用,并且可以是Ext组件,而不是html组件。
,我在悬停时显示工具栏按钮的菜单(并在鼠标移开时隐藏它们)有类似的问题。我编写了一个HoverButton扩展,您可以使用Simon解决方案中提到的事件轻松地将其扩展为HoverRow。
外部悬停按钮
希望能帮助到你。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。