本文實例為大家分享了小程序實現搜索界面的具體代碼,供大家參考,具體內容如下
效果圖:
實現代碼:
<view class="page"> <view class="page__bd"> <view class="weui-search-bar"> <view class="weui-search-bar__form"> <view class="weui-search-bar__box"> <icon class="weui-icon-search_in-box" type="search" size="14"></icon> <input type="text" class="weui-search-bar__input" placeholder="搜索" maxlength='10' value="{{inputVal}}" focus="{{inputShowed}}" bindinput="inputTyping" /> <view class="weui-icon-clear" wx:if="{{inputVal.length > 0}}" bindtap="clearInput"> <icon type="clear" size="14"></icon> </view> </view> <label class="weui-search-bar__label" hidden="{{inputShowed}}" bindtap="showInput"> <icon class="weui-icon-search" type="search" size="14"></icon> <view class="weui-search-bar__text">搜索</view> </label> </view> <view class="weui-search-bar__cancel-btn" hidden="{{!inputShowed}}" bindtap="hideInput">取消</view> </view> <view class="weui-cells searchbar-result" wx:if="{{inputVal.length > 0}}"> <!-- 搜索列表 --> <view class="weui-cell__bd" wx:for="{{list}}" wx:key="key"> <!-- 列表名稱 --> <view class='list_name' data-index='{{index}}' data-name='{{item.name}}' bindtap='btn_name'> <!-- 昵稱 --> <label class='lab_name'>{{item.name}}</label> </view> </view> </view> </view></view>
js:
Page({ data: { // 搜索框狀態 inputShowed: false, // 搜索框值 inputVal: "", //搜索渲染推薦數據 list:[ {name:"帝霸"}, { name: "遮天" }, { name: "道界天下" }, { name: "菜鳥" }, { name: "先飛" } ] }, // 顯示搜索框 showInput: function () { this.setData({ inputShowed: true }); }, // 隱藏搜索框樣式 hideInput: function () { this.setData({ inputVal: "", inputShowed: false }); }, // 清除搜索框值 clearInput: function () { this.setData({ inputVal: "" }); }, // 獲取搜索框值 inputTyping: function (e) { this.setData({ inputVal: e.detail.value }); console.log(this.data.inputVal); }, // 獲取選中推薦列表中的值 btn_name:function(res){ console.log(res.currentTarget.dataset.index, res.currentTarget.dataset.name); }});
CSS:
.searchbar-result{ margin-top: 0; font-size: 14px;} /* 搜索列表名稱 */.list_name{ position: relative; width: 100%; height: 90rpx; line-height: 90rpx; border-bottom: 1rpx solid #ddd;}/* 列表名稱 */.lab_name{ position: absolute; left: 30rpx;}
記得最后在app.wxss中引入wehui.wxss
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答