云开发(微信-小程序)笔记(十二)---- 搜索

简介: 云开发(微信-小程序)笔记(十二)---- 搜索

云开发(微信-小程序)笔记(十一)---- 分页,不简单啊

搜索的分类有单字段,多字段(或),多字段(并)搜索等

1.导入数据集

首先向数据库导入免费数据集,这个数据集自己写也行,在导入云数据库即可。

2.单字段搜索

主要部分(js部分)

let db = wx.cloud.database()
let _ = db.command
Page({
  onLoad() {
    db.collection('news')
      单字段模糊搜索
       .where({
         title: db.RegExp({    //title是你要搜索的字段,可以是其他
           regexp: '你好', //匹配内容(title里)
           options: 'i',  //不区分大小写
         })
       })
       .get()
      .then(res => {
        console.log('搜索成功', res)
      })
      .catch(res => {
        console.log('搜索失败', res)
      })
  }
})

3.多字段(or)搜索

主要部分(js部分)

let db = wx.cloud.database()
let _ = db.command
Page({
  onLoad() {
    db.collection('news')
    //多字段模糊搜索(满足任意一个条件)
      .where(_.or([{ //搜索标题字段
          title: db.RegExp({
            regexp: '丽江',
            options: 'i',
          })
        },
          { //搜索描述字段
            desc: db.RegExp({
              regexp: '丽江',
              options: 'i',
            }),
          }
        ]))
        .get()
      .then(res => {
        console.log('搜索成功', res)
      })
      .catch(res => {
        console.log('搜索失败', res)
      })
     }
}

4.多字段(and)搜索

主要部分(js部分)

let db = wx.cloud.database()
let _ = db.command
Page({
  onLoad() {
    db.collection('news')
      //多字段模糊搜索(满足任意全部条件)
      .where(_.and([{ //搜索标题字段
          title: db.RegExp({
            regexp: '小米',
            options: 'i',
          })
        },
        { //搜索描述字段
          desc: db.RegExp({
            regexp: '小米',
            options: 'i',
          }),
        }
      ]))
      .get()
      .then(res => {
        console.log('搜索成功', res)
      })
      .catch(res => {
        console.log('搜索失败', res)
      })
  }
})

5.案例

1.编写js部分

// pages/seach-list/seach-list.js
let db = wx.cloud.database()
let _ = db.command
Page({
  data: {
    key: null
  },
  getKey(e){
    this.setData({
      key: e.detail.value
    })
  },
  getSearch() {
    console.log(this.data.key)
    let key = this.data.key
    if (key){
      console.log('可以执行搜索!')
    db.collection('news')
      .where(_.or([{ //搜索标题字段
          title: db.RegExp({
            regexp: key,
            options: 'i',
          })
        },
        { //搜索描述字段
          desc: db.RegExp({
            regexp: key,
            options: 'i',
          }),
        }
      ]))
      .get()
      .then(res => {
        console.log('搜索成功', res)
        this.setData({
          list: res.data
        })
      })
    } else{
      wx.showToast({
        icon: 'error',
        title: '请输入内容',
      })
      }
  }

2.编写wxml部分

<!--pages/seach-list/seach-list.wxml-->
<view class="root">
  <input placeholder="请输入要搜索的词" bindinput="getKey"></input>
  <view bindtap="getSearch">搜索</view>
</view>
<view wx:if="{{list && list.length>0}}">
  搜索结果如下
  <view wx:for="{{list}}" wx:key="index">
    <view class="item">
      <view>标题:{{item.title}}</view>
      <view>描述:{{item.desc}}</view>
    </view>
  </view>
</view>
<view wx:if="{{list && list.length == 0}}">
  搜索内容为空
</view>

3.编写wxss部分

/* pages/seach-list/seach-list.wxss */
.root{
  display: flex;
}
input{
   flex: 1; /*搜索框撑满页面*/
  border: 1px solid gray;/*搜索框的颜色*/
  border-radius: 30rpx;/*搜索框的边角圆润度*/
  margin-right: 30rpx; /*搜索框距离右侧的距离*/
  padding-left: 20rpx; /*搜索框中的提示词距左侧的距离*/
}
.item{
  color:rgb(83, 81, 185); /*颜色*/
  margin: 20rpx; /*距离上的距离*/
  border-bottom: 1px solid gray; /*底部边框*/
}

云开发(微信-小程序)笔记(十三)---- 注册登陆

感谢大家,点赞,收藏,关注,评论!

目录
相关文章
|
9天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的校园水电费管理微信小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的校园水电费管理微信小程序的详细设计和实现
31 0
|
16天前
|
小程序 前端开发 API
小程序全栈开发中的多端适配与响应式布局
【4月更文挑战第12天】本文探讨了小程序全栈开发中的多端适配与响应式布局。多端适配涉及平台和设备适应,确保统一用户体验;响应式布局利用媒体查询和弹性布局维持不同设备的布局一致性。实践中,开发者可借助跨平台框架实现多平台开发,运用响应式布局技术适应不同设备。同时,注意兼容性、性能优化和用户体验,以提升小程序质量和用户体验。通过这些方法,开发者能更好地掌握小程序全栈开发。
|
16天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。
|
16天前
|
小程序 安全 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的身份认证与授权机制。身份认证包括手机号验证、微信登录和第三方登录,而授权机制涉及角色权限控制、ACL和OAuth 2.0。实践中,开发者可利用微信登录获取用户信息,集成第三方登录,以及实施角色和ACL进行权限控制。注意点包括安全性、用户体验和合规性,以保障小程序的安全运行和良好体验。通过这些方法,开发者能有效掌握小程序全栈开发技术。
|
16天前
|
小程序 前端开发 安全
小程序全栈开发中的跨域问题及其解决方案
【4月更文挑战第12天】本文探讨了小程序全栈开发中的跨域问题及其解决方案。跨域问题源于浏览器安全策略,主要体现在前后端分离、第三方服务集成和数据共享上。为解决此问题,开发者可采用CORS、JSONP、代理服务器、数据交换格式和域名策略等方法。实践中需注意安全性、兼容性和性能。通过掌握这些解决方案,开发者能更好地处理小程序的跨域问题,提升用户体验。
|
16天前
|
JavaScript 前端开发 小程序
微信小程序全栈开发之性能优化策略
【4月更文挑战第12天】本文探讨了微信小程序全栈开发的性能优化策略,包括前端的资源和渲染优化,如图片压缩、虚拟DOM、代码分割;后端的数据库和API优化,如索引创建、缓存使用、RESTful API设计;以及服务器的负载均衡和CDN加速。通过这些方法,开发者可提升小程序性能,优化用户体验,增强商业价值。
|
21天前
|
小程序
微信小程序如何实现进入小程序自动连WiFi功能
微信小程序如何实现进入小程序自动连WiFi功能
|
9天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的优购电商小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的优购电商小程序的详细设计和实现
32 0
|
16天前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中PWA技术的应用,PWA结合Web的开放性和原生应用的性能,提供离线访问、后台运行、桌面图标和原生体验。开发者可利用Service Worker实现离线访问,Worker处理后台运行,Web App Manifest添加桌面图标,CSS和JavaScript提升原生体验。实践中需注意兼容性、性能优化和用户体验。PWA技术能提升小程序的性能和用户体验,助力开发者打造优质小程序。
|
9天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的微信课堂助手小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的微信课堂助手小程序的详细设计和实现
40 3

热门文章

最新文章