E企盈营销工具技术服务商 热线:4006-838-530

微信小程序芦山县E企盈小程序搜索功能

功能:在搜索界面,搜索输入的字符,如果有匹配,就会显示出来。wxmlview 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="沪A6789" 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           /view      view class="weui-search-bar__cancel-btn" 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-id='{{item.deviceId}}'         data-name='{{item.carNum}}' bindtap='btn_name'          !-- 昵称 --          label class='lab_name'{{item.carNum}}/label        /view      /view    /view     /view/view view class="item-box"  view class="items"    view wx:for="{{carList}}" wx:key="{{index}}" class="msg-item"      view class='msg' style="{{item.txtStyle}}" bindtouchstart="touchS" bindtouchmove="touchM" bindtouchend="touchE" data-index="{{index}}" data-car="{{item.carNum}}"       view class='carstate' bindtap='carState' data-index="{{index}}" data-car="{{item.carNum}}"         image class='header-img' src="{{item.state == 5 ? '/img/driver.png':'/img/car.png'}}"/image         view class='user-name'{{item.carNum}}/view         view class='msg-text'{{item.deviceId}}/view         image class='site-img' data-id="{{item.deviceId}}" src="/img/site.png" bindtap='navmap'/image      /view        view class="inner del"          span class="draw" data-index="{{index}}" data-name="{{item.carNum}}" bindtap="tryDriver" 试驾/span          span class="delete" data-name="{{item.carNum}}" bindtap="unBind"解绑/span        /view      /view    /view  /view/view

wxss:(注意:引入了全局的框架WeUI).开通辅料里布小程序电话:4006-838-530searchbar-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;}/* serch-index *//* 隐藏滚动条 */::-webkit-scrollbar{width: 0;height: 0;color: transparent;}.msg-item {  width: 100%;  height: 145rpx;  border-bottom: 1rpx solid rgb(233, 233, 233);  position: relative;  left:0;  top:0;  overflow: hidden;}.msg {  position: absolute;  width: 100%;  height: 150rpx;  left:0;  top:0;  z-index: 100;  background-color: #FFF;}.header-img {  position: absolute;  width: 100rpx;  height: 100rpx;  left: 20rpx;  top: 30rpx;  border-radius: 10%;}.site-img {  position: absolute;  width: 70rpx;  height: 70rpx;  right: 50rpx;  top: 40rpx;  border-radius: 10%;}.user-name {  position: absolute;  left: 150rpx;  top: 33rpx;  font-weight: 600;  font-size: 33rpx;}.msg-text {  position: absolute;  left: 150rpx;  bottom: 32rpx;  font-size: 70%;  color: rgb(127, 127, 127);}.msg-menu {  position: absolute;  width: 100%;  height: 150rpx;  left:0;  top:0;  z-index: 0;}.menu-delete {  position: absolute;  width: 150rpx;  height: 1开通指纹锁小程序电话:4006-838-53048rpx;  top:1rpx;  right: 0;  background-color: rgb(255, 58, 50);  color:#FFF;  text-align: center;  line-height:150rpx;}.menu-mark {  position: absolute;  width: 200rpx;  height: 148rpx;  top:1rpx;  right: 150rpx;  backgrou开通药箱药盒小程序电话:4006-838-530nd-color: rgb(200, 199, 205);  color:#FFF;  text-align: center;  line-height:150rpx;}/* 滑动效果 */.inner.del {  position: absolute;  width: 300rpx;  height: 148rpx;  top: 1rpx;  right: -300rpx;  color: #fff;  text-align: center;  line-height: 130rpx;}.draw {  border-right: 1px solid #fff;  display: inline-block;  width: 140rpx;  height: 142rpx;  background: #d6cdcd;}.delete {  display: inline-block;  width: 140rpx;  height: 142rpx;  background: #fd9903;}/*  end  *//* 搜索 */.weui-search-bar__input{  height: 72rpx;}.weui-icon-search_in-box{  top:22rpx;}.weui-search-bar__cancel-btn{  line-height:70rpx;}.weui-icon-clear{  top:4rpx;}

jsvar app = getApp()Page({  data: {    // 搜索框状态    inputShowed: true,    //显示结果view的状态    viewShowed: false,    // 搜索框值    inputVal: "",    //搜索渲染推荐数据    catList: [],    btnWidth: 300, //删除按钮的宽度单位    startX: "", //收支触摸开始滑动的位置  },  onLoad: function () {    var that = this;    //初始化界面    that.initEleWidth();  },  // 隐藏搜索框样式  hideInput: function () {    this.setData({      inputVal: "",      inputShowed: false    });  },  // 清除搜索框值  clearInput: function () {    this.setData({      inputVal: ""    });  },  // 键盘抬起事件2  inputTyping: function (e) {    console.log(e.detail.value)    var that = this;    if (e.detail.value == ''){        return;    }    that.setData({      viewShowed: false,      inputVal: e.detail.value    });    wx.request({      url: app.globalData.root +"car/search.do",      data: { "openid": app.globalData.openid, "carNum": e.detail.value },      method: 'GET',      header: {        'Content-type': 'application/json'      },      success: function (res) {        that.setData({          carList: res.data        })      }    });  },  // 获取选中推荐列表中的值  btn_name: function (res) {     console.log(res.currentTarget.dataset.index, res.currentTarget.dataset.name);    console.log(res.currentTarget.dataset.index, res.currentTarget.dataset.id);    var that = this;    that.hideInput();    that.setData({      viewShowed: true,      carNum: res.currentTarget.dataset.name,      deviceId: res.currentTarget.dataset.id    });  },// index-serch  //滑动效果  touchS: function (e) {    if (e.touches.length == 1) { //触摸屏上只有一个触摸点      this.setData({        //设置触摸起始点水平方向位置        //clientX:距离页面可显示区域(屏幕除去导航条)左上角距离,横向为X轴,纵向为Y轴        startX: e.touches[0].clientX      });    }  },  touchM: function (e) {    if (e.touches.length == 1) { // 一个触摸点      //手指移动时水平方向位置      var moveX = e.touches[0].clientX;      //手指起始点位置与移动期间的差值      var disX = this.data.startX - moveX;      //按钮      var btnWidth = this.data.btnWidth;      var txtStyle = "";      if (disX == 0 || disX 0) { //如果移动距离小于等于0,说明向右滑动,文本层位置不变        txtStyle = "left:0px";      } else if (disX 0) { //移动距离大于0,文本层left值等于手指移动距离        txtStyle = "left:-" + disX + "px";        if (disX = btnWidth) {          //控制手指移动距离最大值为删除按钮的宽度          txtStyle = "left:-" + btnWidth + "px";        }      }      //获取手指触摸的是哪一项      var index = e.currentTarget.dataset.index;      //设置该项向左偏移的样式,并消除其他项的偏移样式      var list = this.data.carList;      for (var ix in list) {        ix == index ? list[ix].txtStyle = txtStyle : list[ix].txtStyle = "";      }      //更新列表的状态      this.setData({        carList: list      });    }  },  touchE: function (e) {    if (e.changedTouches.length == 1) { //一个触摸点      //手指移动结束后水平位置      var endX = e.changedTouches[0].clientX;      //触摸开始与结束,手指移动的距离      var disX = this.data.startX - endX;      var btnWidth = this.data.btnWidth;      //如果距离小于删除按钮的1/2,不显示删除按钮      var txtStyle = disX btnWidth / 2 ? "left:-" + btnWidth + "px" : "left:0px";      //获取手指触摸的是哪一项      var index = e.currentTarget.dataset.index;      //设置偏移的样式      var list = this.data.carList;      list[index].txtStyle = txtStyle;      //更新列表的状态      this.setData({        carList: list      });    }  },  //获取元素自适应后的实际宽度  getEleWidth: function (w) {    var real = 0;    try {      var res = wx.getSystemInfoSync().windowWidth;      var scale = (750 / 2) / (w / 2); //以宽度750px设计稿做宽度的自适应      real = Math.floor(res / scale);      return real;    } catch (e) {      return false;      // Do something when catch error    }  },  initEleWidth: function () {    var btnWidth = this.getEleWidth(this.data.btnWidth);    this.setData({      btnWidth: btnWidth    });  },  //点击解绑  unBind: function (e) {    var that = this;    console.log(e.currentTarget.dataset.name)    //获取列表中要删除项的下标    wx.showModal({      title: '提示',      content: '是否确认解绑',      success(res) {        if (res.confirm) {          //解绑          wx.request({            url: app.globalData.root + "car/unBind.do",            data: {              "openid": app.globalData.openid,              "carNum": e.currentTarget.dataset.name            },            method: 'GET',            header: {              'Content-type': 'application/json'            },            success: function (res) {              that.getCars(app.globalData.openid);            }          });        }      }    })  },  //点击试驾  tryDriver: function (e) {    var that = this;    var index = e.currentTarget.dataset.index;    var list = that.data.carList;    if (list[index].state == 5)      return;    wx.showModal({      title: '提示',      content: '是否确认试驾',      success(res) {        if (res.confirm) {          //试驾          wx.request({            url: app.globalData.root + "car/driver.do",            data: {              "openid": app.globalData.openid,              "carNum": e.currentTarget.dataset.name            },            method: 'GET',            header: {              'Content-type': 'application/json'            },            success: function (res) {              if (res.data == 0) {                wx.showToast({                  title: '车辆维修尚未结束、不可试驾',                  icon: 'none',                })                return;              }              //切换图标              for (var ix in list) {                if (ix == index)                  list[ix].state = 5;              }              //更新列表的状态              that.setData({                carList: list              });            }          });        }      }    })  },  //事件处理函数  navmap: function (e) {    wx.navigateTo({      url: '../site/site?deviceId=' + e.currentTarget.dataset.id    })  },  //显示车辆状态  carState: function (e) {    wx.navigateTo({      url: '../state/state?carNum=' + e.currentTarget.dataset.car    })  },});

原文作者:祈澈姑娘 技术博客:https://www.jianshu.com/u/05f416aefbe190后前端妹子,爱编程,爱运营,爱折腾。坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,对于博客上面有不会的问题,可以加入qq群聊来问我:473819131.

关注「编程微刊」公众号 ,在微信后台回复「领取资源」,获取IT资源200G干货大全。

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信小程序芦山县E企盈小程序搜索功能
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

模王系统开发

联系我们升级日志

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏