input输入框简单的实时搜索(过滤)功能 (uni-app)

偏执的太偏执、 2023-10-11 12:28 142阅读 0赞

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
本文链接:
https://blog.csdn.net/qq_35197283/article/details/101209744

介绍通过输入框对已经渲染好的list列表进行过滤(搜索)的功能
如图所示:
在这里插入图片描述

代码段

  1. <template>
  2. ...
  3. <input v-model="filterText" type="text" placeholder="设备编号,设备名称" ></input>
  4. <view class="cu-card case">
  5. <navigator
  6. @click="linkProject(item.taskId,item.taskStatus)"
  7. class="cu-item shadow"
  8. v-for="(item, index) in filterList"
  9. :key="index">
  10. <view class="cu-list menu">
  11. <view class="cu-item">
  12. <view class="content">
  13. <text class="text-black">任务单号:</text>
  14. <view class="right"><text class="text-grey">{ { item.taskNumber}}</text></view>
  15. </view>
  16. </view>
  17. <view class="cu-item">
  18. <view class="content">
  19. <text class="text-black">状态:</text>
  20. <view class="right"><text class="text-red">{ { item.taskStatus | filter }}</text></view>
  21. </view>
  22. </view>
  23. </view>
  24. </navigator>
  25. </view>
  26. ...
  27. </template>
  28. <script>
  29. ...
  30. data() {
  31. return {
  32. filterText: '',
  33. list: []
  34. }
  35. },
  36. computed:{
  37. filterList () {
  38. var arr = []
  39. this.list.forEach((item) => arr.push(item))
  40. if (this.filterText) {
  41. arr = this.list.filter(item => item.taskNumber.includes(this.filterText))
  42. }
  43. return arr
  44. }
  45. },
  46. ...
  47. </script>

以上代码,主要部分在输入框v-model 双向绑定(filterText)和v-for所渲染的数组(最初数据list和过滤后数据filterList
list是通过后台接口拿到的,所以不展示了。
再将通过计算属性处理后的filterList进行渲染。
渲染后的效果如图:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,142人围观)

还没有评论,来说两句吧...

相关阅读

    相关 input搜索

    主要是实现input搜索框输入内容的时候,删除文字的按钮出现和在搜索框内搜索内容输入完毕之后按回车直接进行搜索两个功能。 输入内容删除按钮出现,内容删除完毕删除按钮隐藏