gpt4 book ai didi

java - 自定义 Vaadin Flow Grid 组件的选择列标题

转载 作者:行者123 更新时间:2023-12-04 11:00:42 25 4
gpt4 key购买 nike

是否可以调整 Vaadin Flow Grid 中(自动创建的)选择列的列标题?

我的用例:“全选”按钮/复选框应该是可见的(尽管没有内存数据提供程序),并且在选择所有项目时,当所有项目计数超过 100 时,它应该显示警告。此外,视觉效果应指示未选择/部分/全部选择。

就我浏览的文档/代码而言,我没有看到任何可能性。任何想法表示赞赏。我正在使用 Vaadin 14。

最佳答案

这不是一个真正的/完整的答案,这首先是作为评论写的。但我不想阻塞评论,所以我将它们移到这个“答案”中。我描述了我认为需要的方法,但我不确定这是否是最好的方法。请采纳我的建议。不要给我赏金。

看到没有 Java 端 API 来控制有关选择列标题的任何内容,我想唯一的方法是更改​​底层聚合物模板 @vaadin/vaadin-grid/src/vaadin-grid-selection-column.js ,其中包含一个 javascript 方法 _onSelectAllChanged .我绝不是聚合物专家,因此无法指导您进行修改。但我认为应该可以在那里触发一个自定义事件,您可以在 Java 端收听该事件,即在其中显示通知。这可能不是最好的方法,这只是我最好的猜测。

上述聚合物模板还定义了是否应显示选择列标题-您可以删除hidden$="[[_selectAllHidden]]" defaultHeaderTemplate 中复选框的属性,以始终显示标题复选框。

@KasparScherrer by changing the vaadin-grid-selection-column.js? Anyway, I would like to customize the behavior of the checkbox. I hoped it was somehow possible to do this without js.
- Steffen Harbich



我相信,如果不更改 (js) 聚合物模板,这是无法实现的。如果您可以访问它,您可能想在 Vaadins 专家聊天中询问这个问题,或者希望他们在这里回答,他们不时这样做。我最近使用我描述的方法成功地修改了 LoginOverlay 模板。但是我对整个主题仍然不太满意。

您必须复制 @vaadin/vaadin-grid 的所有模板文件,并且为了使用您自己的(修改过的)模板,您必须创建自己的 Grid 副本。类(不扩展,因此它不会再在 node_modules 中查找模板)并放置您自己的 @JsModule .复选框行为的定制可以在 java 中完成,一旦你触发了 CustomEvent_onSelectAllChanged .退房 @DomEvent监听 java 组件中的自定义事件。

关于java - 自定义 Vaadin Flow Grid 组件的选择列标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58816731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com