You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vaadin Grid在iOS/Safari下双击事件未触发问题求助

Vaadin 23.1.0 iOS Safari兼容问题:Grid双击事件无响应

问题现象

使用Vaadin 23.1.0开发响应式Web应用时,遇到仅在iPhone设备Safari浏览器下出现的专属兼容问题:

  • Grid组件的项双击事件完全无法触发,该功能在Windows、macOS、Android等其余所有平台均运行正常,从未出现异常
  • 同页面普通按钮的单击事件可在iOS Safari下正常响应,仅Grid项的双击事件无响应
  • 额外测试发现Context Menu组件在iOS端可正常弹出,但始终无法获取选中的项,返回值恒为null,疑似与Grid双击问题为同一根因导致

复现代码

@PageTitle("IosTestView")
@Route(value = "IosTestView", layout = MainLayout.class)
@PermitAll
@Log4j2
public class IosTestView extends VerticalLayout {

    public IosTestView() {
        H2 h2 = new H2("IOS Test View");
        add(h2);
        List<String> testData = Arrays.asList("One", "Two", "Three", "Four", "Five");
        Grid<String> testGrid = new Grid<>();
        testGrid.addColumn(new ComponentRenderer<>(a -> new Button("Go", b -> show(a))));
        testGrid.addColumn(a -> a);
        testGrid.addItemDoubleClickListener(a -> show(a.getItem()));
        testGrid.setItems(testData);
        add(testGrid);
    }

    private void show(String msg) {
        Notification notification = new Notification();
        notification.setPosition(Notification.Position.MIDDLE);
        notification.setText("Item : " + msg);
        notification.setDuration(5000);
        notification.open();
    }
}

修复诉求

  • 寻找可落地的简便修复方案
  • 不接受额外添加按钮替代原生双击交互的实现方式

内容的提问来源于stack exchange,提问作者Stefan Möller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 13:18:18