0

如何在 IronSwipeableContainer 中捕获滑动事件的方向?

    @UiField IronSwipeableContainer swipeable;
    ...
    swipeable.addIronSwipeHandler(new IronSwipeEventHandler() {

        @Override
        public void onIronSwipe(IronSwipeEvent event) {                
            log.info("onIronSwiped! ");
        }
    });

它在 js 对象中。我只是不知道如何从 java 访问它。

event_0_g$.nativeEvent_1_g$.detail.direction = "left"

额外的信用 - 如何防止滑动关闭(滑动)容器?

4

1 回答 1

0

我认为处理这个问题的唯一方法(使用当前从 Vaadin 的聚合物元素生成的 Java 代码)是编写一个 JSNI 函数并传递它event.getNativeElement()

http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsJSNI.html

例如:

    public void onIronSwipe(IronSwipeEvent event) {                
        String direction = determineDirection(event.getNativeEvent());
    }
...
public static native String determineDirection(JavaScriptObject event) /*-{
  return event.detail.direction;
}-*/;

关于防止解雇,也许更好的工作流程是事先确定哪些容器不应该被解雇,并通过设置元素的class="disable-swipe"

于 2017-01-09T15:27:58.373 回答