我想知道是否可以浏览Vaadin网格或treegrid并仅使用键盘箭头键选择项目?从我在测试组件时看到的情况来看,默认行为似乎是仅移动到网格中的一个特定单元格或移动到treegrid中的特定行。如果用户按空格键,则可以实现选择。 我试图将一个shortcutListener添加到网格,但它似乎不适用于箭头键。并且网格滚动条不会随所选项目一起移动。
grid.addShortcutListener(new ShortcutListener("Down", KeyCode.ARROW_DOWN, null) {
@Override
public void handleAction(Object sender, Object target) {
//..//
selectedItem = dataSource.get(currentSelectedItemIndex);
grid.select(selectedItem);
grid.scrollTo(currentSelectedItemIndex); // this doesn't seem to do anything??
//..//
}
});
我想我的问题是我不知道如何获取将选择移动到其他单元格/行的事件。 这是一张代表我所面临问题的图像。使用箭头键选择仅具有蓝色边框的项目。当用户在没有空格键的情况下按箭头键(向下或向上)时,我想自动选择一个项目。 从这里拍摄的图像:https://demo.vaadin.com/sampler/#ui/grids-and-trees/grid/features
EDIT1: 我正在使用最新版本的Vaadin - 8.1.6 EDIT2: 我尝试添加几个听众,看看我是否至少可以通过使用向上/向下箭头将运动注册到下一个/上一个单元格,但没有任何运气。 这是我尝试过的听众列表:
是否有任何听众可以帮助我解决这个问题?
答案 0 :(得分:1)
Grid组件具有基本的键盘导航功能。如果你需要高级选项,就像你提到的那样,对于键盘导航,我会热烈建议测试这个附加组件:
https://vaadin.com/directory/component/gridfastnavigation-add-on