前端之微信小程序搜索
来源:互联网 发布:激光雷达 算法 编辑:程序博客网 时间:2024/05/29 02:26
wxml:
<view class="container"> <input type='text' confirm-type='search' bindinput='input1' style='border:1px solid #f00'/> <view wx:for="{{hosList}}" wx:for-item="h"> <text wx:if="{{h.show}}">{{h.name}}</text> </view></view>
js:
Page({ data: { hosList: []//页面显示的数据 }, input1: function (e) {//输入时 实时调用搜索方法 this.search(e.detail.value) }, search: function (key) {//搜索方法 key 用户输入的查询字段 var This = this; var hosList = wx.getStorage({ key: 'hosList', success: function (res) {//从storage中取出存储的数据 if (key == "") {//用户没有输入 全部显示 This.setData({ hosList: res.data }) return; } var arr = [];//临时数组 用于存放匹配到的数据 for (let i in res.data) { if (res.data[i].search.indexOf(key) >= 0) { //查找 res.data[i].show = true;//匹配到的数据显示 arr.push(res.data[i]) } } if (arr.length == 0) { This.setData({ hosList: [{ show: true, name: '无相关数据' }] }) } else { This.setData({ hosList: arr//找到的数据在页面显示 }) } }, }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var hosList = [ { id: 101, name: "杭州第一医院", show: false, search: "101杭州第一医院" }, { id: 102, name: "杭州第二医院", show: false, search: "102杭州第二医院" }, { id: 103, name: "温州第一医院", show: false, search: "103温州第一医院" }, { id: 201, name: "温州第二医院", show: false, search: "201温州第二医院" }, { id: 202, name: "杭州儿童医院", show: false, search: "202杭州儿童医院" }, { id: 203, name: "杭州妇产医院", show: false, search: "203杭州妇产医院" }, { id: 301, name: "杭州肿瘤医院", show: false, search: "301杭州肿瘤医院" }, { id: 302, name: "杭州牙科医院", show: false, search: "302杭州牙科医院" }, { id: 303, name: "杭州猫狗医院", show: false, search: "303杭州猫狗医院" } ] wx.setStorage({//获取的时候存储在本地 key: 'hosList', data: hosList, }) this.setData({ hosList: hosList//页面加载时 显示所有数据 }) }})
思路:监听用户输入,根据用户输入的key在dataArr中查找,key为空时默认数据均不显示,遍历数组,当用户输入的key在数据数组中找到并显示放在新数组中返回页面,如果没有找到显示未找到相关数据
阅读全文
0 0
- 前端之微信小程序搜索
- 前端之微信小程序
- 前端之微信小程序总结
- 前端之微信小程序优化
- 微信小程序之"搜索历史"功能实现
- 前端相关系列之搜索框
- 前端外行的微信小程序瞎折腾之旅
- 一. 微信小程序实践之路<前端> ------- 轮播图的实现
- 百度前端面试经验之程序题
- 通过微信小程序看前端
- 通过微信小程序看前端
- 通过微信小程序看前端
- 前端微信小程序实战篇
- 浅谈微信小程序前端生态
- 微信小程序搜索组件wxSearch
- 微信小程序--搜索电影app
- 前端实时搜索功能
- 微信小程序https前端开发解决方案
- 数组与指针
- enum枚举认识
- I2C总线协议
- 中英键盘按键说明
- 数论——整除
- 前端之微信小程序搜索
- 习题6.14
- HDOJ2117 Just a Numble
- HDU 1686-Oulipo
- 确定字符互异 确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代
- 杭电oj1031
- linux-基础练习
- jQuery弹出窗口插件LeanModal的使用方法
- CentOS6网络连接