GWT 2.7和GWT材料设计1.5.3数据采集器

GWT 2.7和GWT材料设计1.5.3数据采集器,gwt,gwt-material-design,Gwt,Gwt Material Design,使用MaterialButton,我试图在屏幕上显示日历窗格。我有这样的代码: @UiField MaterialDatePicker editDateCtrl; @UiField MaterialButton addDateCtrl; @UiHandler("addDateCtrl") void onClick(ClickEvent ev) { // GQuery.console.log(GQuery.$(ev.getSource()

使用MaterialButton,我试图在屏幕上显示日历窗格。我有这样的代码:

    @UiField
    MaterialDatePicker editDateCtrl;
    @UiField
    MaterialButton addDateCtrl;

    @UiHandler("addDateCtrl")
    void onClick(ClickEvent ev) {
//      GQuery.console.log(GQuery.$(ev.getSource()).siblings(".input-field"));
//      GQuery.$(ev.getSource()).siblings(".input-field").first().find("input").click();
//      GQuery.$(this.editDateCtrl.getElement());
//      GQuery.$("#gwt-debug-actionBtn").click();
        editDateCtrl.fireEvent(new FocusEvent() {});
    }

我尝试使用焦点事件、单击事件,但没有任何效果。使用普通JavaScript(jQuery)获取元素并调用
obj.click()
/
obj.focus()
也不会给出任何结果。此控件的API甚至不包含方法
show()
或类似的内容(不是我当前使用的版本)。

我必须使用GQuery/JSNI。MaterialDatePicker包含一个输入元素,该元素的属性值为我想要显示的日历弹出窗口的id。为了使弹出窗口出现,您需要添加一些样式

以下是代码:

String pickerId = GQuery.$(editDateCtrl).find("input").attr("aria-owns");
GQuery.$("#" + pickerId).addClass("picker--focused picker--opened");
GQuery.$("#" + pickerId).attr("aria-hidden", false);

请将您的解决方案移动到它自己的答案,谢谢。