解释问题:
搜索栏无法关闭打开的键盘。这使得 搜索栏非常不可用,因为普通用户模式是 用户搜索某些内容,然后按该项目并进行导航 那里。在Android上(至少在> = 5.x上),打开的键盘将 继续保持打开状态,即使在新页面上也是如此。
请参阅Github上的问题,任何人如何针对Nativescript-Vue而不是针对带有Typescript的Nativescript做到这一点
添加了游乐场:https://play.nativescript.org/?template=play-vue&id=hrrcW9
如果我最小化该应用程序,然后再次单击它,则键盘会再次弹开。
答案 0 :(得分:1)
正如您在链接的问题中已经看到的那样,功能请求已关闭,已完成。 dismissSoftInput()是SearchBar上的一种方法,现在可以隐藏键盘。
如果仍然有问题,请共享您的代码。
更新:
这是Android的默认行为,即将第一个可聚焦元素集中在片段/活动上。添加事件侦听器/超时以从每个屏幕上移开焦点可能会很烦人,我更喜欢将自动聚焦视图用作布局的第一个元素(这不会对屏幕设计产生任何影响),这样会阻止自动聚焦在文本上字段/搜索栏。
import { View } from "tns-core-modules/ui/core/view";
export class AutoFocusView extends View {
createNativeView() {
if (typeof android !== "undefined") {
const linearLayout = new android.widget.LinearLayout(this._context);
linearLayout.setFocusableInTouchMode(true);
linearLayout.setFocusable(true);
return linearLayout;
}
return super.createNativeView();
}
onLoaded() {
super.onLoaded();
this.requestFocus();
}
requestFocus() {
const nativeViewProtected = this.nativeViewProtected;
nativeViewProtected.requestFocus();
}
}