<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了微信小程式實現簡單搜尋功能的具體程式碼,供大家參考,具體內容如下
搜尋效果圖
實現功能如下
(1) 未找到商品時顯示提示資訊,找到商品時顯示商品列表
(2) 清空搜尋方塊時顯示搜尋歷史記錄,歷史記錄可清除,點選歷史記錄賦值到搜尋方塊
.wxml程式碼
<view class="top"> <view class="topsearch"> <view class="frame"> <input value="{{shoopingtext}}" bindinput="shoppinginput"></input> </view> <text bindtap="search">搜尋</text> </view> </view> <view class="history" wx:if="{{history}}"> <view class="history_title"> <text>歷史搜尋</text> <image src="/images/delete.png" mode="widthFix" style="width:5%;" bindtap="cleanhistory"></image> </view> <view class="history_text"> <text wx:for="{{newArray}}" wx:key="key" data-text="{{item}}" bindtap="textfz">{{item}}</text> </view> </view> <view class="none" wx:if="{{noneview}}"> <image src="/images/null.png" mode="widthFix" style="width:20%"></image> <text>抱歉,沒有相關商品</text> </view> <view class='swiper_con' wx:if="{{shoppinglist}}"> <view class='swiper_con_view' wx:for="{{shoopingarray}}" wx:key="id" wx:if='{{item.status=="1"?true:false}}'> <image src="{{item.images}}" mode="widthFix" style="width:100%" data-status="{{item.status}}"></image> <view style="width:90%;margin:5%;"> <text style="font-size:24rpx">{{item.title}}</text> <view class="swiper_con_view_view"> <view style="width:80%;"> <text style="font-size:24rpx;color:red;">¥{{item.money}}</text> <text style="font-size:18rpx;color:#B8B8B8;margin-left:5%;">已售{{item.sold}}</text> </view> <image src="/images/cart.png" mode="widthFix" style="width:10%;position:relative;left:8%;"></image> </view> </view> </view> </view>
.wxss程式碼
page{ background-color: white; } .top { width: 100%; background-color: #f7f7f7; } .topsearch { width: 90%; margin-left: 5%; display: flex; padding: 2% 0; align-items: center; } .frame { background-color: white; width: 75%; border-radius: 20rpx; padding: 0 3%; } .frame>input { font-size: 24rpx; margin: 6rpx 0; } .topsearch>text { width: 10%; margin-left: 5%; color: #a8a7a7fa; } .history { background-color: white; padding: 4%; } .history_title { font-size: 30rpx; display: flex; justify-content: space-between; color: #a8a7a7fa; align-items: center; } .history_text { padding: 4% 0; display: flex; flex-wrap: wrap; } .history_text>text { background-color: #f7f7f7; padding: 1% 3%; margin: 2%; border-radius: 40rpx; font-size: 30rpx; } .history_text>text:first-child{ margin-left: 0; } .none{ margin-top: 10%; display: flex; align-items: center; justify-content: center; flex-direction: column; } .swiper_con { width: 96%; margin-left: 2%; display: flex; flex-wrap: wrap; } .swiper_con_view { width: 48%; height: 530rpx; background-color: white; margin: 10rpx 0; } .swiper_con_view:nth-child(even) { margin-left: 4%; } .swiper_con_view_view { margin-top: 5%; display: flex; align-items: center; }
.js程式碼
Page({ //清除歷史記錄 cleanhistory: function(e) { this.setData({ history: false, //隱藏曆史記錄 historyArray: [], //清空歷史記錄陣列 newArray: [], shoopingtext: "" //清空搜尋方塊 }) }, //搜尋 search: function(e) { var searchtext = this.data.shoopingtext; //搜尋方塊的值 var sss = true; if (searchtext != "") { //將搜尋方塊的值賦給歷史陣列 this.data.historyArray.push(searchtext); //模糊查詢 迴圈查詢陣列中的title欄位 for (var index in this.data.shoopingarray) { var num = this.data.shoopingarray[index].title.indexOf(searchtext); let temp = 'shoopingarray[' + index + '].status'; if (num != -1) { //不匹配的不顯示 this.setData({ [temp]: 1, }) sss = false //隱藏未找到提示 } } this.setData({ history: false, //隱藏曆史記錄 noneview: sss, //隱藏未找到提示 shoppinglist: true, //顯示商品列表 newArray: this.data.historyArray //給新歷史記錄陣列賦值 }) } else { this.setData({ noneview: true, //顯示未找到提示 shoppinglist: false, //隱藏商品列表 history: false, //隱藏曆史記錄 }) } }, data: { shoopingtext: "", //搜尋方塊的值 history: false, //顯示歷史記錄 noneview: false, //顯示未找到提示 shoppinglist: false, //顯示商品列表 historyArray: [], //歷史記錄陣列, newArray: [], //新增歷史記錄陣列 shoopingarray: [{ //商品 id: 0, images: "/images/3201.png", title: "完達山甄選牧場酸奶飲品牛奶飲料常溫發酵乳包...", money: "88.00", sold: "78箱", status: 0 }, { id: 1, images: "/images/3202.jpg", title: "網紅 天日鹽餅乾 粗糧早餐 代餐宿舍小吃零食 130g*...", money: "26.80", sold: "34包", status: 0 }] }, //搜尋方塊的值 shoppinginput: function(e) { //當刪除input的值為空時 if (e.detail.value == "") { this.setData({ history: true, //顯示歷史記錄 shoppinglist: false //隱藏商品列表 }); //所有商品列表的狀態改為0 for (var index in this.data.shoopingarray) { let temp = 'shoopingarray[' + index + '].status'; this.setData({ [temp]: 0, }) } } this.setData({ shoopingtext: e.detail.value }) }, //點選歷史記錄賦值給搜尋方塊 textfz: function(e) { this.setData({ shoopingtext: e.target.dataset.text }) } })
tips:
(1) 本篇部落格為顯示效果,在搜尋時通過修改商品列表中的status欄位值來顯示商品列表,建議在實際開發過程中傳入搜尋方塊內容到後臺,後臺查詢後返回商品列表,以免佔用過多資源。
(2) 每次進入搜尋頁面歷史記錄為空,建議將搜尋歷史記錄放入快取中,下次進入搜尋頁面時顯示搜尋歷史記錄。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45