当我在 Vaadin 中使用 treetable 时,单击左右空白区域时拖放整行效果很好。但这对用户不友好,我想在行内创建一个可拖动的布局,比方说每一行的第一个组件,当单击它时,整行被选中并可以拖放以重新排序。
问题是我可以用 wrapper 创建垂直布局,但是拖动模式仅适用于它的组件或 wrapper 本身,并且在执行拖动操作时,它实际上并没有显示整行都在移动,这可能会使客户感到困惑。我该怎么做才能让它看起来像我在拖动整行,类似于你拖动每一行的空白区域?谢谢。
最佳答案
恐怕目前还没有办法添加一个包装器来扩展整行而不是一个单元格。为此,您需要扩展 Table (VScrollTable) 的客户端实现,我不推荐这样做,因为它非常复杂。
我确实认为您描述的内容在核心 Vaadin 中应该是可能的(无需使用拖放包装器),所以您能否在 dev.vaadin.com 提交一张票?并且请附上一个显示问题的小应用程序,以便我们更容易地发现问题并解决问题。
无论如何,为了让它在今天正常运行,我建议您稍微更改一下 UI 设计,例如从 iOS 借用拖动 handle 。我的意思是,您可以在第一个单元格(或每行的行标题单元格)中添加一个建议“可拖动”的图标作为背景图像,鼓励用户捕获那里的行,它 是“空”并且拖动有效。这样,如果拖动仅在行的某些部分可靠地工作,用户可能不会太困惑。
关于css - 如何在表格行内创建一个可以代表整行的拖放包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7888216/