我想在对话框显示之前将焦点设置到org.gwtbootstrap3.client.ui.Input
对话框 ( ) 中的某个字段 ( ) 。org.gwtbootstrap3.client.ui.Modal
如果您有一个带有单个字段的对话框,例如Upload text或Add feed dialogs right here ,则该用例似乎很常见。但是我不知道如何将焦点设置到这个特定的gwtbootstrap3组件。
该Input
组件确实有一个setFocus(true)
方法。我认为在显示对话框之前设置焦点不起作用,但事实并非如此。所以合乎逻辑的解决方案是将方法调用放在一个ScheduledCommand
. 像这样:
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
textField.setFocus(true);
}
});
这通常适用于 GWT 标准组件,但在这种情况下似乎没有帮助。我找到了一种在对话框通过ModalShowHandler
. 像这样:
modal.addShowHandler(new ModalShowHandler() {
@Override
public void onShow(ModalShowEvent evt) {
textField.setFocus(true);
}
});
我什至尝试将两者结合起来,向句柄添加延迟调用。没运气。有任何想法吗?