uniapp 输入法画面_uni-app原生导航输入框操作

1 引言

在我们使用HbuilderX开发APP时,经常会有一个很实用的功能需要开发,那就是搜索功能了,uni-app为我们提供该功能,大大的简化了开发难度,只要进行简单的配置就可以生成原生的导航输入框了(笔者的另一篇笔记中记录了配置过程,这里就不重复介绍了),那么现在有了原生输入框了,我们要如何操作输入框中的内容呢,原生输入框可不像input组件那样可以直接绑定数据的,下面笔者记录一下操作原生输入框的内容(比如输入框的聚焦失焦、输入内容的获取)

2 导航栏事件监听

2.1 页面生命周期:

https://uniapp.dcloud.io/collocation/frame/lifecycle?id=%e9%a1%b5%e9%9d%a2%e7%94%9f%e5%91%bd%e5%91%a8%e6%9c%9f

在uni-app页面周期有这么的三个函数:

onNavigationBarSearchInputChanged    :监听原生标题栏搜索输入框输入内容变化事件

onNavigationBarSearchInputConfirmed  :监听原生标题栏搜索输入框搜索事件,用户点击软键盘上的“搜索”按钮时触发。

onNavigationBarSearchInputClicked       :监听原生标题栏搜索输入框点击事件

2.2 获取输入框内容

要获取输入框内容,可以在生命周期里通过参数e.text,使用如下所示。

export default {

data() {

return {}

},

methods: {

},

// 导航搜索栏监听搜索事件

onNavigationBarSearchInputConfirmed(e){

// 搜索框内容 : e.text

console.log(e.text);

}

}

2.3 输入框的失焦与聚焦

失焦与聚焦的形式要通过webview的方式来设置,首先我们先获取当前页面的webview对象,然后再调用setTitleNViewSearchInputFocus方法来设置。

聚焦

// 获取当前页面的webview对象

var webView = this.$mp.page.$getAppWebview();

// 搜索框聚焦

webView.setTitleNViewSearchInputFocus(true);

失焦

// 获取当前页面的webview对象

var webView = this.$mp.page.$getAppWebview();

// 搜索框失焦

webView.setTitleNViewSearchInputFocus(false);

小结

在笔者看来,这两个知识点有有用,可以应对大部分的开发需求了,在日常的开发中用的最多的也是这么两个。比如当用户按下搜索按钮时,我们就获取搜索框的内容,然后调用搜索接口,必要时还可以清除搜索框的内容并聚焦与搜索框。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值