麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

微信小程序 搜索框組件代碼實例

2019-11-19 10:51:55
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了微信小程序 搜索框組件代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

代碼如下

search.wxml

<view class="header">  <view class="search">    <icon type="search" size="18" color="">    </icon>    <input type="text" confirm-type="search" bindconfirm="onConfirm" value="{{value}}" />    <icon type="clear" size="18" bind:tap="onToggle" />  </view>  <button bind:tap="onCancel" plain="{{true}}" class="cancel">取消</button></view><view class="container" wx:if="{{!isSearch}}">  <view class="title">    <view class="line"></view>    <text>歷史搜索</text>  </view>  <view class="history-container">    <block wx:for="{{words}}" wx:key="{{index}}">      <v-tag content="{{item}}" bind:comment="onConfirm"></v-tag>    </block>  </view>  <view class="title">    <view class="line"></view>    <text>熱門搜索</text>  </view>  <view class="history-container">    <block wx:for="{{hots}}" wx:key="{{index}}">      <v-tag content="{{item}}" bind:comment="onConfirm"></v-tag>    </block>  </view></view><view class="result" wx:if="{{isSearch}}" >  <block wx:for="{{books}}" wx:key="index">    <v-book book="{{item}}"></v-book>  </block></view>

search.wxss

.header{  position: fixed;  top:0;  left: 0;  z-index: 300;  height:100rpx;  display: flex;  padding-left:20rpx;  padding-right:20rpx;  align-items: center;  border-top: 1rpx solid #eee;  border-bottom: 1rpx solid #eee;  flex-direction: row;  background: #fff;}.search{  width:530rpx;  height:70rpx;  background: rgb(245, 245, 245);  border-radius:30rpx;  padding-left: 20rpx;  display: flex;  align-items: center;}.search input{  flex:1;  margin-left: 20rpx;}.cancel{  height:70rpx;  border-radius: 30rpx;  line-height: 70rpx;  border-color: #888;}.container{  margin-top: 100rpx;  padding: 20rpx;}.title{  display: flex;  height:90rpx;  align-items: center;}.line{  height:40rpx;  width:10rpx;  background: #333;}.result{  margin-top: 100rpx;  padding-left:90rpx;  padding-right:90rpx;  display: flex;  flex-wrap: wrap;  justify-content: space-between;}v-book{  margin-bottom: 60rpx;}

search.js

// components/search/search.jsimport { Keyword } from "../../models/keyword";import { BookModel } from "../../models/book";const keyword = new Keyword();const bookModel = new BookModel();Component({ /**  * 組件的屬性列表  */ properties: { }, /**  * 組件的初始數據  */ data: {  words: [],  hots: [],  books:[],  isSearch:false,  //給輸入的默認值  value:"" }, /**  * 組件的方法列表  */ methods: {  onConfirm(event) {   let value = event.detail.value;   // 只有在服務器上能搜索到的關鍵字才添加到緩存中   bookModel.getBookSearch(0, value).then(res => {    if (res.total) {     keyword.addHistory(value);     let words = keyword.getHistory();     this.setData({      words,      books:res.books,      isSearch:true     })    }// console.log(res);   })  },   onToggle() {   this.setData({    value: "",    isSearch:false   })  },  onCancel() {   this.setData({    isSearch: false   })  } }, attached() {  // keyword.getHistory();  this.setData({   words: keyword.getHistory()  })  keyword.getHotData().then(res => {   // console.log(res.hot);   this.setData({    hots: res.hot   })  }) }})

models/keyword

import {HTTP} from "../utils/http-p";class Keyword extends HTTP{  getHistory(){    const words = wx.getStorageSync('q')    if(words){      return words    }else{      return [];    }  }  addHistory(value){    var words = this.getHistory();    const has = words.includes(value);    if(value && !has){      if(words.length>4){        words.pop()      }      words.unshift(value);      wx.setStorageSync('q', words)    }  }  getHotData(){    return this.request({      url:`/book/hot_keyword`    })  }  getKeyword(start,value){    return this.request({      url:`/book/search`,      data:{        start,        q:value      }    })  }}export {Keyword}

models/book

import {HTTP} from "../utils/http-p";class BookModel extends HTTP{  getHotBook(){    return this.request({      url:"/book/hot_list"    })  }  getBookDateil(id){    return this.request({      url:`/book/${id}/detail`    })  }  getBookComment(id){    return this.request({      url:`/book/${id}/short_comment`    })  }  getBookLike(id){    return this.request({      url:`/book/${id}/favor`    })  }  // 新增短評  addNewComment(id,content){    return this.request({      url:`/book/add/short_comment`,      method:"POST",      data:{        book_id:id,        content      }    })  }  // 獲取搜索結果  getBookSearch(start,value){    return this.request({      url:`/book/search`,      data:{        start,        q:value      }    })  }}export {BookModel};

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av电影网站在线 | 精品人伦一区二区三区蜜桃网站 | 爱福利视频 | 欧美日韩免费一区 | 最近日本电影hd免费观看 | 日本在线播放一区二区三区 | 久久色网站 | 性aaa| 午夜国产小视频 | 亚洲免费永久 | 长泽雅美av | 亚洲一区二区在线视频 | 2021狠狠操 | 亚洲一区 国产精品 | 国产亚洲精品视频中文字幕 | 在线成人免费av | 国产一区二区三区在线免费 | 爱福利视频网 | 精品国产一区二区久久 | 激情久久一区二区 | 最近中文字幕一区二区 | 91精品成人福利在线播放 | 成人午夜视频免费看 | 亚洲一区二区三区精品在线观看 | 精品国产91久久久久久久妲己 | 亚洲综合91| 欧美一级黑人 | 国产美女视频黄a视频免费 日韩黄色在线播放 | 久久成年人视频 | 国产精品啪一品二区三区粉嫩 | 精品一区二区三区免费毛片 | 久久国产精品久久精品国产演员表 | 亚洲精品a在线观看 | 日韩视频一区二区三区在线观看 | 久久久久久免费 | 亚洲欧美日韩一区二区三区在线观看 | 久久亚洲第一 | 91香草视频 | 久久精品视频69 | 男女生羞羞视频网站在线观看 | av电影免费在线 |