Удалять фокус из текстового поля при щелчке за пределами текстового поля в Nativescript

#nativescript #nativescript-vue

#nativescript #nativescript-vue

Вопрос:

Когда пользователь щелкает вне текстового поля, я хочу удалить фокус из текстового поля. Как это сделать в nativescript?

Комментарии:

1. Если быть более точным, вы хотите скрыть клавиатуру или убрать фокус тоже? В Android фокус может оставаться на текстовом поле, пока клавиатура скрыта. В iOS скрытие клавиатуры также приведет к удалению фокуса.

2. Я хочу скрыть клавиатуру, а также убрать фокус.

Ответ №1:

Вот как вы могли бы удалить фокус из вашего текстового поля на Android. Вам нужен другой вид, в котором фокус может быть смещен. Пример был выполнен с помощью {N} core, реализация в {N} Vue следует стандартным шагам, зарегистрируйте пользовательский элемент и используйте его в своем шаблоне.

Чтобы скрыть клавиатуру, выполните приведенный ниже код при нажатии на свой макет (в любом месте за пределами текстового поля).

 import * as utils from "tns-core-modules/utils/utils";

if (utils.ad) {
  utils.ad.dismissSoftInput();
} else {
  // iOS
  utils.ios
            .getter(UIApplication, UIApplication.sharedApplication)
            .keyWindow
            .endEditing(true);
}
  

Комментарии:

1. работает для меня, если я помещаю его в основной макет моей страницы, но переопределяет событие RadListView itemTap

2. Но к какому событию вы должны его привязать?