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
    评论
微信小程序中,如果使用uni-app开发框架,在数据改变后页面没有重新渲染的情况下,可能是由于以下几个原因造成的。 1. 数据绑定问题:首先要确保数据改变后已经正确地在页面上进行了绑定。可以检查相关数据是否正确传递给了对应的组件或页面,并且正确地绑定了相应的数据。 2. 双向绑定问题:如果使用了双向绑定,即数据的变化可以通过页面上的操作进行修改,那么需要检查数据的变化是否正确地反映在了对应的属性或者变量上。如果相关的双向绑定没有正确设置,那么页面就无法正确地渲染数据的变化。 3. 生命周期问题:uni-app使用了Vue的生命周期函数,在数据改变后,可以尝试使用相关的生命周期函数来监听数据的变化,并在合适的时机进行相应的操作,如重新渲染页面。在这一步需要确保生命周期函数的调用时机是否正确。 4. 异步问题:如果数据的改变是通过异步操作完成的,例如通过请求接口获取数据后进行数据的改变,那么需要确保在数据改变之后调用重新渲染页面的方法。可以在异步操作的回调函数中进行相应的页面渲染。 总之,在uni-app开发微信小程序时,数据改变后页面不渲染的问题可能是由于数据绑定、双向绑定、生命周期函数、异步等问题引起的。需要仔细查找问题的具体原因并进行相应的调整,确保数据改变后页面能够正确地进行重新渲染。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值