微信小程序:仅前端实现对象数组的模糊查询

效果

核心代码

//对数组进行过滤,返回数组中每一想满足name值包括变量query的

let result = array.filter(item => {

return item.name.includes(query);

});

完整代码

wxml

html 复制代码
<input type="text" placeholder="请输入名称" placeholder-style="color:black" bindconfirm="search" />
<view class="all">
  <view class="item_all" wx:for="{{info}}" wx:key="index">
    <view class='position'>
      <view class="content">
        <view class="vv_1">序号:{{item.id}}</view>
        <view class="vv_1">名称:{{item.name}}</view>
        <view class="vv_1">年龄:{{item.age}}</view>
      </view>
    </view>
  </view>
</view>

wxss

css 复制代码
/* 搜索框 */
input {
  background-color: rgb(212, 212, 212);
  padding: 2%;
  margin-bottom: 5%;
}

/* 列表 */
.all {
  margin-bottom: 20%;
}

.item_all {
  /* border: 1px solid black; */
  margin-bottom: 3%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.position {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 95%;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 2px 2px 2px gainsboro;
}

.content {
  padding: 5%;
}

.vv_1 {
  word-break: break-all;
  padding: 2px 0;
}

js

javascript 复制代码
Page({
  data: {
    //完整数据
    fixed_info: [{
      id:1,
      name:'张三',
      age:23
    }, {
      id:2,
      name:'李四',
      age:26
    }, {
      id:3,
      name:'王五',
      age:24
    }, {
      id:4,
      name:'张晓',
      age:21
    }], 
    //展示数据
    info:[],
  },
  //刚进入页面执行的操作
  onLoad(options) {
    this.setData({
      info:this.data.fixed_info
    })  
  },
  //搜索框回车事件
  search(event) {
    //始终保持查询的数据是完整的数组数据
    this.setData({
      info:this.data.fixed_info
    })
    let query = event.detail.value; // 要查询的关键词
    let array = this.data.info;//设置查询的数组
    let result = array.filter(item => {
      return item.name.includes(query);
    });
    this.setData({
      info:result
    })
  },
})
相关推荐
专注前端30年19 小时前
2025 最新 Vue2/Vue3 高频面试题(10月最新版)
前端·javascript·vue.js·面试
文火冰糖的硅基工坊20 小时前
[嵌入式系统-146]:五次工业革命对应的机器人形态的演进、主要功能的演进以及操作系统的演进
前端·网络·人工智能·嵌入式硬件·机器人
2401_8370885020 小时前
ResponseEntity - Spring框架的“标准回复模板“
java·前端·spring
yaoganjili20 小时前
用 Tinymce 打造智能写作
前端
angelQ20 小时前
Vue 3 中 ref 获取 scrollHeight 属性为 undefined 问题定位
前端·javascript
Dontla21 小时前
(临时解决)Chrome调试避免跳入第三方源码(设置Blackbox Scripts、将目录添加到忽略列表、向忽略列表添加脚本)
前端·chrome
我的div丢了肿么办21 小时前
js函数声明和函数表达式的理解
前端·javascript·vue.js
云中雾丽21 小时前
React.forwardRef 实战代码示例
前端
朝歌青年说21 小时前
一个在多年的技术债项目中写出来的miniHMR热更新工具
前端
Moonbit21 小时前
倒计时 2 天|Meetup 议题已公开,Copilot 月卡等你来拿!
前端·后端