【问题标题】:How to get left click to work on column visibility example using the Vaadin Flow Grid example如何使用 Vaadin Flow Grid 示例左键单击以处理列可见性示例
【发布时间】:2021-08-06 18:03:43
【问题描述】:

https://vaadin.com/docs/latest/ds/components/grid/#column-visibility 的列可见性示例中,代码显示了一个类ColumnToggleContextMenu,它不是 Vaadin API 的一部分,但它似乎以某种方式调整了按钮的挂钩方式,以便可以左键单击而不是单击默认右键单击上下文菜单。考虑到这一点,下面的代码只会在右键单击时显示上下文菜单,我无法让它像示例代码一样工作。我的代码是:

Button showHideColumnsButton = new Button("Show/Hide Columns");
showHideColumnsButton.addThemeVariants(ButtonVariant.LUMO_TERTIARY);

ContextMenu contextMenu = new ContextMenu(showHideColumnsButton);
for(Grid.Column column : grid.getColumns()) {
    contextMenu.addItem(getColumnName(column), e -> showHideColumn(column));
}

我正在考虑使用 MenuBar 来查看是否可行,但如果可能的话,我更愿意弄清楚如何使用 Button,因为这似乎更合适(主要是因为它允许复选框显示列是否为可见或隐藏)。

【问题讨论】:

    标签: vaadin vaadin-flow vaadin14


    【解决方案1】:

    为了使上下文菜单在左键单击时打开,请使用setOpenOnClick(true)

    Button showHideColumnsButton = new Button("Show/Hide Columns");
    showHideColumnsButton.addThemeVariants(ButtonVariant.LUMO_TERTIARY);
    
    ContextMenu contextMenu = new ContextMenu(showHideColumnsButton);
    contextMenu.setOpenOnClick(true)
    for(Grid.Column column : grid.getColumns()) {
        contextMenu.addItem(getColumnName(column), e -> showHideColumn(column));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-17
      • 1970-01-01
      • 2016-11-16
      相关资源
      最近更新 更多