您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 镇江分类信息网,免费分类信息发布

小程序中搜索功能的实现方法(代码)

2024/3/27 3:28:37发布9次查看
小程序中搜索功能是非常重要的,毕竟有了搜索功能会给该用户很大的方便,下面我们就来看看小程序中如何实现搜索功能。
1.页面<!--pages/review/search/search.wxml--><view class="page">  <view class="weui-search-bar">    <form bindsubmit="searcha" class="weui-search-bar__form" style="background-color:#eee;position:relative;">      <view>        <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" name="keyword" confirm-type="search" bindconfirm="searchb" placeholder="搜索姓名、节目名、年份、老师名" value="{{inputval}}" focus="{{inputshowed}}" bindfocus="" />          <button class="search-btn" formtype="submit">搜索</button>        </view>      </view>    </form>  </view>  <block wx:if='{{issearching}}'>     <view>      <view class="search-title">热门搜索</view>      <view class="zj">        <block wx:for='{{hottag}}' wx:key='id'>          <view class='tags' data-keyword='{{item}}' bindtap='searchhot'>{{item}}</view>        </block>      </view>    </view>  </block>  <block wx:else>    <block wx:if='{{searchdata.length==0}}'>      <view class='search-hint'>        没有符合条件的选项      </view>    </block>    <block wx:else>      <view class='search-list'>      <block wx:for='{{searchdata}}' wx:key='id'>    <navigator url="{{item.itemtype==2?'../videodetil/index?itemid='+item.id:'../material/index?itemid='+item.id}}" class="" style=''>        <view class='search-item'>          {{item.title}}        </view>      </navigator>      </block>      </view>    </block>  </block></view>
2.css@import '../common/lib/weui.wxss';    .weui-search-bar{      border-top:0px;      background-color:white;      border-bottom:0px;    }    .weui-search-bar__label{      background:#f0f0f0;            }    .weui-search-bar__form {      border-radius:8px;      width:686rpx;      height: 2.9%;      margin-bottom: 1.3%;    }    .weui-icon-search{      margin-left:7px;          }    .weui-search-bar__box{      width: 91.5%;      height: 2.9%;    }    .page__hd{      width: 708rpx;       height: 228rpx;      margin-left: 2.3%;    }    .swiper-ad {      height: 228rpx;      width: 100%;    }    .swiper-image {      height: 100%;      width: 100%;    }        .title-hd{      font-family: pingfangsc-semibold;      font-size: 22px;      color: #333333;      letter-spacing: 0;      text-align: center;      line-height: 22px;      width: 25.5%;      height: 44rpx;      margin-top: 32rpx;      margin-left: 2.3%;      margin-bottom: 32rpx;    }    .info-top{      background-color: white;      position: relative;      height:150rpx;      border-bottom:1px solid #f0f0f0;      width: 94.5%;       margin-left: 2.3%;    }    .info-vip{      position: absolute;      left:40rpx;    }    .info-bm{      position: absolute;      left:224rpx;    }    .info-sc{      position: absolute;      left:408rpx;    }    .info-zb{      position: absolute;      left:592rpx;    }    .info-img{      margin-top: 30rpx;       width: 76rpx;      height:76rpx;    }    .info-right{      float:right;    }    .info-font{    font-family: pingfangsc-regular;    font-size: 14px;    color: #666666;    letter-spacing: 0;    line-height: 14px;    text-align: center;    }    .hd{      width: 94.5%;      height: 598rpx;       box-shadow: 0 2px 4px 0 rgba(0,0,0,0.15);      border-radius: 8px;      margin-left: 2.3%;      margin-top: 32rpx;    }    .hd-zt{      height:600rpx;      margin-bottom: 40rpx;      box-shadow: 0 2px 4px 0 rgba(0,0,0,0.15);      border-radius: 8px;    }    .hd-pic{      width: 100%;       height:386rpx;     }    .hd-title{      font-family: pingfangsc-regular;    font-size: 16px;    color: #333333;    letter-spacing: 0;    line-height: 16px;    margin-top:24rpx;    margin-left: 24rpx;     }    .hd-price{    font-family: pingfangsc-regular;    font-size: 14px;    color: #999999;    letter-spacing: 0;    line-height: 14px;    margin-top:48rpx;    margin-left: 24rpx;     }    .searchbar-result{        margin-top: 0;        font-size: 14px;    }    .searchbar-result:before{        display: none;    }    .weui-cell{        padding: 12px 15px 12px 35px;    }    .placeholder{        width:50%;        margin: 5px;        padding: 0 10px;        text-align: center;        background-color: #ebebeb;        height: 2.3em;        line-height: 2.3em;        color: #cfcfcf;    }    .weui-grid_border{      width:708.75rpx;      height:560rpx;      box-shadow: 0 2px 4px 0 rgba(0,0,0,0.15);      border-radius: 8px;           }    .weui-grid__product{      display:block;      width:708.75rpx;      height:386rpx;      margin:0 auto;      padding-top:10px;      margin-bottom: 10px;        box-shadow: 0 2px 4px 0 rgba(0,0,0,0.15);       border-bottom:0;       border-radius: 8px;      }    .weui-grid_font{      background-color: white;      height:78px;          border-top:0;       padding-top: 4rpx;      box-shadow: 0 2px 4px 0 rgba(0,0,0,0.15);      border-radius: 8px;    }    .product-price{      font-size:14px;      color:#996b7a;      padding-top:5px;      text-align:center;      }    .weui-underline{      text-align:center;       color:#f0c4d3;      margin-top: -5px;    }        .category-item{        border:0px;          background-color:white;          width:25%;    }        .category-item{      border:0px;      background-color:white;    width:25%;    }    .category-pic{    display:block;width:50px;height:50px;margin:0 auto    }    .category-name    {      margin-top:6px;display:block;text-align:center;color:#82501e;font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;    }    .active-nav-border{      margin:20rpx auto 40rpx auto;       width: 60rpx;      height: 4rpx;      background: rgb(240,196,211);    }    .page-version{      margin-top:20rpx;      padding: 30rpx 50rpx 30rpx;      text-align: center;      color:#ccc;       background-color: white;      font-size:12px;    }    .scroll-view_h{        white-space: nowrap;          }      .scroll-view-item{        height: 200px;      }      .scroll-view-item_h{        display: inline-block;        width: 320rpx;        height: 180rpx;       margin-left: 20rpx;     }      .sp{      width: 300rpx;      height: 68rpx;      font-size: 34px;      color: #303030;      letter-spacing: 0;      line-height: 68rpx;      margin-bottom: 40rpx;      margin-left:32rpx;    }    .zj{    font-family: pingfangsc-regular;    font-size: 14px;    color: #999999;    letter-spacing: 0;    line-height: 16px;     margin:20px 0 40rpx 20px;    position: relative;    }    .tags {      font-size: 14px;      color: #999999;      letter-spacing: 0;      line-height: 16px;       display: inline-block;      height: 18px;      padding:8px;       margin:10px;      border-radius:5px;      background:#f3f3f6;    }    .search-title {      margin-left: 40rpx;      color:#999999;    }    .search-list, {      padding:0 20px;    }    .search-hint {      padding: 0 20px;      color:#999;      font-size:14px;    }    .search-item {      width:100%;      margin:5px 0;      background:#eee;      padding:5px;      border-radius:5px;      height: 18px;      line-height: 18px;      font-size:14px;    }    .search-btn {        position: absolute;        z-index: 11;        top: -20rpx;        right: -42rpx;        height: 54rpx;        width: 120rpx;        text-align: center;        line-height: 76rpx;        font-size: 28rpx;        border-bottom-left-radius: 0;        border-top-left-radius: 0;        background-color: #eee;    }        .search-btn::after{        border-bottom-left-radius: 0;        border-top-left-radius: 0;         border:0;     }
3.jsconst requestapi = require('../../utils/request.js')const app = getapp()page({  data: {    issearching: true,    pageindex: 0,    pagesize: 20,    hottag: ['群舞', '原创', '舞蹈', '唱歌'],    historytag: ['小舞蹈家', '最美童声'],    searchdata: []  },  onload(options) {  },  onshow() {    this.setdata({      issearching:true    })  },    //点击搜索触发事件  searcha(e) {    let keywords = e.detail.value.keyword    console.log(eeeee,e)    if(!keywords.length) {      wx.showtoast({        title: '不能为空',        icon: 'loading',        duration: 2000      })      return;    }    this.search(keywords)  },//点击热门搜索触发事件  searchhot(e) {    let keywords = e.target.dataset.keyword;    this.setdata({      inputval: keywords,    })    this.search(keywords)  },//接口配置  search(keywords) {    let params = {      appid: app.appid,      openid: app.openid,      pageindex: this.data.pageindex,      pagesize: this.data.pagesize,      secret: app.secret,      keywords    }    let urlpath = '/api/item/search'    requestapi.dopost(urlpath, params, res => {      console.log('搜索接口', res);      this.setdata({        searchdata:res.data,        issearching:false,      });    })  },})
相关推荐:
微信小程序开发中怎样实现搜索内容高亮功能
小程序开发实现搜索全部城市列表界面
以上就是小程序中搜索功能的实现方法(代码)的详细内容。
镇江分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录