有没有人看到过extjs的实现或插件,您可以使用浏览器“拉出”或“停靠”选项卡/窗口?它甚至可能吗?
搜索没有透露太多,但我确实遇到了旧版本的建议解决方案: http://www.sencha.com/forum/showthread.php?16842-Dockable-floatable-panels-in-ExtJS
@DmitryB
澄清一下,如果我在同一个窗口中有多个标签,那么在chrome中:
我“拖动”其中一个标签,它弹出一个新窗口:
我想你可以通过将标签面板的内容移动到一个窗口但不确定如何去做它来实现这一点。
答案 0 :(得分:1)
简而言之:
- Make the tabs draggable, watch for the drag event and mark the
tab-strip as your "safe" zone
- When a tab is dragged and then "dropped" (as in, the drag event ends) you do a check:
> Is the tab within the safe area?
No: Create a new Ext.Window at the x/y of the mouse, copy the components/HTML
out of the original panel and insert them into the new window. Destroy the
original panel.
Yes: Do nothing.
不幸的是,我仍然厌倦了在ExtJS3中学习D& D,因此我无法提供有关ExtJS 4的这个和真实代码的任何帮助,但这个概念对我来说似乎相对简单。我会说你可能想要尽力让它变得不那么华丽 - 除非你真的需要,我不会担心在你拖动标签时显示面板的内容 - 更不用说显示面板本身。只需将标签元素拖到屏幕上并在安全区域外释放时进行复制。