GWT 2.7和GWT材料设计1.5.3数据采集器
使用MaterialButton,我试图在屏幕上显示日历窗格。我有这样的代码: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()
@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);
请将您的解决方案移动到它自己的答案,谢谢。