uniapp做微信小程序搜索查询数据

Vue uniapp语法
在后端还没写好查询接口的时候 为了实现前端的搜索效果 可以前端实现数组的遍历查询
或者面试的时候要求前端写一个demo =====>针对前端小白的教程 干净利索
原图:
在这里插入图片描述
根据名称查询数据:

在这里插入图片描述
根据设备号查询:
在这里插入图片描述
HTML部分 先把数据进行渲染布局 最终效果为图一

<view class="print-box">
		<!-- 顶部搜索框 -->
		<view class="print-input flex" style="">
			<view class="" style="flex: 1;">
			//@search 是点击enter键 或者手机的右下角的键盘确认键触发  
			//使用的uview组件
				<u-search placeholder="请输入设备位置/设备型号"  @search='search'    
					v-model="inputText"></u-search> 
			</view>
		</view>
		<!-- 显示打印机区域 -->
		<block v-for="(item,index) in printList" :key="index"> 
			<view class="showPrint flex just-between" @click="selectNavPrint(item.title)">
				<view class="print-img">
					<image :src="item.url"></image>
				</view>
				<view class="flex-column">
					<!-- 编号 -->
					<view class="printNumber">
						{{item.title}}
					</view>
					<!-- 地址 -->
					<view class="flex printAddress">
						<!-- 定位图标 -->
						<view class="iconAddress">
							<image :src="item.icon"></image>
						</view>
						<!-- 地址信息 -->
						<view class="address">
							{{item.futitle}}
						</view>
					</view>
				</view>
				<view class="icon-next flex align-center">
					<image :src="item.arrow"></image>
				</view>
			</view>
		</block>

	</view>

js部分

export default{

		data(){
				printList: [{
						id: 1,
						url: '../../static/chart@2x.png',
						title: 'SDF10409160223',
						icon: '../../static/address@2x.png',
						futitle: '龙子湖区丰庆路魏河北路瀚宇天悦',
						arrow: '../../static/into@2x.png'
					},
					{
						id: 2,
						url: '../../static/chart@2x.png',
						title: 'ZYX10409160223',
						icon: '../../static/address@2x.png',
						futitle: '金水区丰庆路魏河北路瀚宇天悦',
						arrow: '../../static/into@2x.png'
					},
					{
						id: 3,
						url: '../../static/chart@2x.png',
						title: 'ERT10409160223',
						icon: '../../static/address@2x.png',
						futitle: '文化区丰庆路魏河北路瀚宇天悦',
						arrow: '../../static/into@2x.png'
					},
					{
						id: 4,
						url: '../../static/chart@2x.png',
						title: 'SDF10409160223',
						icon: '../../static/address@2x.png',
						futitle: '龙子湖区丰庆路魏河北路瀚宇天悦',
						arrow: '../../static/into@2x.png'
					},
				],
			}
		}

js逻辑

methods:{
search() {
				let list = [];
				this.printList.forEach((item, index) => {
					let str = this.inputText;//搜索框输入的查询内容
					let patt1 = new RegExp(str);  //把内容new regExp下
					let result = patt1.test(item.futitle); //搜索框(标题搜索)new regExp的内容是否包含在 数组的每一项里面
					let result2 = patt1.test(item.title);  //搜索框(编号搜索)new regExp的内容是否包含在 数组的每一项里面
					if (result || result2) {
						this.printList = [];
						list.push(item);
						this.printList = list;
					}
				})
			},
		}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值