主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
本文将与您分享一个小程序开发实践,并介绍如何在小程序中实现内容搜索功能,希望对您有所帮助!
前面我们实现了首页内容列表的显示,但是没有实现顶部搜索框的真正功能。在本文中,我们将在搜索框中添加真正的搜索功能。【相关学习推荐:小程序开发教程】
搜索内容绑定首先看看我们现在点击搜索框后的样子。
这里,我们使用vant的搜索组件,其文档介绍了关于该组件的一些事件绑定方法。
我们想要使用的是在确定搜索时触发真正的内容搜索,因此我们将该事件的绑定添加到搜索组件,如下所示。
然后,我们在搜索事件的响应实现中打印绑定到搜索组件的值变量,然后进行输入测试。
handleSearch(){ const { search value } = this . data console . log(& # 39;搜索内容& # 39;,search value)}这里需要注意的是,在开发者的工具中,输入框是在电脑端的,因此无法唤起类似于手机端的输入法界面,因此交互与在手机中使用小程序的真实情况完全不同。
在这种情况下,我们可以使用预览功能在手机上进行调试。手机打开小程序后,我们可以点击...右上角调出调试面板查看控制台的输出。
或者使用开发者工具提供的真机调试功能,在手机上预览小程序的同时,可以在电脑端的开发者工具中实时看到调试信息。
调试经过调试,我们发现search绑定的值只会在第一次输入后发生变化并存储在searchValue中,后面输入的值不会更新该变量,这导致我们无法每次搜索都使用最新输入的内容,这是有问题的。
数据绑定的解决方案也非常简单,即利用小程序的数据绑定特性,将搜索组件中传递的value属性更改为model:value,从而实现数据双向绑定。
这样在后续输入更新后,searchValue的值也会同时更新,达到同步修改的效果。
条件查询可以获得每次在搜索框中输入的内容,因此我们可以将此作为关键字来查询列表内容。
规则是从数据库的所有记录中找到文本中包含我们的搜索关键字的记录。当然一次最多只返回20条记录,然后也可以支持上拉加载。
其实这里查询数据的方式和之前基本一样,只是在原来的基础上增加了一个关键字匹配条件,所以我们来改造一下之前的数据查询方式。
我们将搜索内容作为参数添加到最初用于刷新整个列表内容的方法中,并将其传递给用于真正查询数据的云函数处理方法。同时,搜索框每次确认搜索时,判断是否有搜索内容,如果有,则再次获取数据。
数据库记录匹配然后,我们需要在云功能中对数据库数据的提取进行相应的更改。这里,我们将使用数据库记录的常规匹配方法来匹配搜索内容。详情请参考官方文件。
改造后的核心逻辑如下
const db = cloud . database()const collection = db . collection(& # 39;homeContentList & # 39)let search promise let count promise ry { if(content){ const search reg = db。RegExp({ RegExp:content,options:& # 39;我& # 39;})search promise = collection . where({ text:search reg })。跳过(页码)限制(页面大小)。get()count promise = collection . where({ text:search reg })。count()} else { search promise = collection . skip(page no)。限制(页面大小)。get()count promise = collection . count()} const
这样,我们就实现了搜索内容的查询。
内容页面优化最后,我们来优化一下首页的显示效果。
许多没有数据组件的页面可能是数据列表的形式,加载所有数据后需要在底部显示的“不再有内容”字样可能会有所不同,因此我们将这部分显示封装到一个可重用的自定义组件中。
尝试部分{{text}}组件样式。wrap { width:100%;填充:20rpx 0 40rpxtext-align:居中;}.text { color:# 999;font -大小:26rpxline -高度:30rpx}组件参数组件({properties: {text: {type: string,value:& # 39;没有更多的内容& # 39;}}})展示效果
总结本文我们实现了搜索框的功能,将搜索框中输入的内容作为搜索关键词,从而在数据库中找到包含关键词的记录进行显示。此外,我们将用“没有更多的内容”来封装可重用组件。
更多编程相关知识请访问:编程入门!!
以上就是教大家如何在小程序中实现内容搜索功能的细节。更多资讯请关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
- 暂无相关推荐文章
本文由主机参考刊发,转载请注明:教你如何在小程序中实现内容搜索功能(如何实现小程序搜索功能) https://zhujicankao.com/106060.html
评论前必须登录!
注册