小程序地址,點擊這裏git
首先說下右邊按鈕的處理,功能是在搜索框有字的時候顯示搜索而且變成紅色按鈕,在搜索框沒有文字的時候顯示取消變成灰色按鈕,搜索時候點擊進入商品列表頁面,點擊取消按鈕的時候返回到京東首頁。github
<input placeholder="搜索京東商品" type="text" bindinput="keyinput"/> <icon type="search" size="16" color="#afafb1"></icon> <button size="mini" id="{{searchContent?'搜索':'取消'}}" bindtap="search" class="{{searchContent?'btn-search':''}}">{{searchContent?'搜索':'取消'}}</button>
同時使用小程序的模板語法動態的設置按鈕的id、類名和按鈕中的文字,而且給按鈕綁定了一個search的方法,這個方法主要處理跳轉和搜索。web
if(event.target.id === '搜索'){ this.setData({ searchContent:undefined }) wx.redirectTo({ url:"../goodsList/goodsList" }) }else if(event.target.id === '取消'){ this.setData({ searchContent:undefined }) wx.navigateBack({ delta: 2 }) }
搜索頁還有清空和換一批的功能,很簡單暫時就不處理了,接下來看商品列表頁的處理小程序
<input placeholder="搜索京東商品" value="{{searchKey}}" type="text" bindinput="keyinput"/> data:{ searchKey:'筆記本電腦' } this.setData({ searchKey:app.globalData.searchKeyword })
<view wx:for="{{filterData}}" data-id="{{index}}" bindtap="select" class="{{select == index ?'filter-select':''}}"> <text>{{item}}</text> </view> select:function(event){ this.setData({ select:event.currentTarget.dataset.id }) }
下面是個列表顯示商品,佈局很少講,這裏就是佈局以後,使用wx:for把獲取到的數據顯示在下面就能夠了,有一個平時不是很經常使用的效果多行文字隱藏給出代碼以下:服務器
width: 200px; word-break: break-all; text-overflow: ellipsis; display: -webkit-box; /** 對象做爲伸縮盒子模型顯示 **/ -webkit-box-orient: vertical; /** 設置或檢索伸縮盒對象的子元素的排列方式 **/ -webkit-line-clamp: 3; /** 顯示的行數 **/ overflow: hidden; /** 隱藏超出的內容 **/