投票评选活动小程序v2-搜索功能和最新排序功能实现

文章介绍了如何在投票评选活动中实现搜索和最新排序功能。对于搜索,利用了数据库的正则表达式匹配,支持用户通过名称或编号查找。对于最新排序,使用了orderBy方法按字段排序,可进行升序或降序排列,支持多字段排序。这些功能适用于五四奖章、优秀工作者等评选场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

投票评选活动小程序-搜索功能和最新排序功能实现

优秀人物评选活动,五四奖章评选、优秀工作者人物评选、劳动最光荣评选。通常需要一个搜索功能,用户通过输入名称或编号搜索对应的作品项目或者人物,进行投票。或者通过最新排序功能查看列表情况。

搜索功能实现

Database.RegExp,构造正则表达式,仅需在普通 js 正则表达式无法满足的情况下使用。

options 参数说明:

options 支持 i, m, s 这三个 flag,注意 JavaScript 原生正则对象构造时仅支持其中的 i, m 两个 flag,因此需要使用到 s 这个 flag 时必须使用 db.RegExp 构造器构造正则对象。flag 的含义见下表:

 

// 数据库正则对象
db.collection('voteWorks').where({
  name: db.RegExp({
    regexp: '李',
    options: 'i',
  })
})
.get()
.then(res => {
  
})

 

最新排序功能实现

Collection.orderBy,指定查询排序条件。

方法接受一个必填字符串参数 fieldName 用于定义需要排序的字段,一个字符串参数 order 定义排序顺序。order 只能取 asc 或 desc。

如果需要对嵌套字段排序,需要用 "点表示法" 连接嵌套字段,比如 style.color 表示字段 style 里的嵌套字段 color。

同时也支持按多个字段排序,多次调用 orderBy 即可,多字段排序时的顺序会按照 orderBy 调用顺序先后对多个字段排序。

按时间排降序取投票项目:

db.collection('voteWorks').orderBy('createTime', 'desc')
  .get()
  .then(console.log)
  .catch(console.error)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mon_star°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值