亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

微信小程序城市選擇及搜索功能的方法

2020-03-21 16:00:30
字體:
來源:轉載
供稿:網友

實現搜索城市功能

參考 微信小程序 之『仿美團城市選擇 城市切換』
https://github.com/cinoliu/-selectCity

微信小程序,城市選擇,搜索

js文件

// pages/address/address.jsvar app = getApp()Page({ data: {  searchLetter: [],  showLetter: "",  winHeight: 0,  cityList: [],  isShowLetter: false,  scrollTop: 0,//置頂高度  scrollTopId: '',//置頂id  city: "",  cityList_search:[],  address_show:false,  search_city:[],  is_data:true,  empty:'', }, onLoad: function (options) {  console.log(options.currentcity)    // 生命周期函數--監聽頁面加載  let that = this;  that.setData({   city: options.currentcity  })  var searchLetter = ["A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "W", "X", "Y", "Z"];  new Promise(function (resolve) {   that.getCity(function (data) {    console.log(data)    let cityObj = data.cityList;    var tempObj = [];    for (var i = 0; i < searchLetter.length; i++) {     var initial = searchLetter[i];     var cityInfo = [];     var tempArr = {};     tempArr.initial = initial;     for (var j = 0; j < cityObj.length; j++) {      if (initial == cityObj[j].initial) {       cityInfo.push(cityObj[j]);      }     }     tempArr.cityInfo = cityInfo;     tempObj.push(tempArr);    }    console.log(tempObj)    that.setData({     cityList: tempObj    })    resolve(tempObj);    })     }).then(function(res){   console.log(res)   let cityObj = [];   var sysInfo = wx.getSystemInfoSync();   var winHeight = sysInfo.windowHeight;   var itemH = winHeight / searchLetter.length;   var tempObj = [];   for (var i = 0; i < searchLetter.length; i++) {    var temp = {};    temp.name = searchLetter[i];    temp.tHeight = i * itemH;    temp.bHeight = (i + 1) * itemH;    tempObj.push(temp)   }   that.setData({    winHeight: winHeight,    itemH: itemH,    searchLetter: tempObj,   })    }) }, getCity: function (callBack){  let that = this;  app.commonRequest('wxapp/public/getCityList', 'POST', {}, function (data) {    console.log(data);     if (data.status == '200') {      that.setData({       cityList: data.datainfo.list,       // city: data.datainfo.getcode,           })      callBack({       cityList: data.datainfo.list      })     } else {      callBack({       cityList: data.datainfo.list      })     }  }) }, set_current_city:function(set_city,callBack){  let that = this;  app.commonRequest('wxapp/public/getCityList', 'POST', {   area_name: set_city,   cityCheckType:1,  }, function (data) {   console.log(data)   if (data.status == "200") {    callBack({     data: data    })   }else {    callBack({     data: data    })   }  })   }, search_city:function(e){  let that =this;  that.setData({   address_show:true  }) }, cancel_city:function(e){  let that = this;  that.setData({   search_city:[],   address_show: false,   empty:'',  }) }, seacrch_city:function(e){  let that =this;  let search_val = e.detail.value;  console.log(search_val);  app.commonRequest('wxapp/public/getCityList', 'POST', {   area_name: search_val  }, function (data) {   console.log(data)   if(data.status == "200"){    if (data.datainfo.list.length >0){     that.setData({      search_city: data.datainfo.list,      is_data: true     })    }    else{     that.setData({      search_city: data.datainfo.list,      is_data:false     })    }   }     })     }, clickLetter: function (e) {  console.log(e.currentTarget.dataset.letter)  var showLetter = e.currentTarget.dataset.letter;  this.setData({   showLetter: showLetter,   isShowLetter: true,   scrollTopId: showLetter,  })  var that = this;  setTimeout(function () {   that.setData({    isShowLetter: false   })  }, 1000) }, //選擇城市 bindCity: function (e) {  let that = this;  console.log("bindCity");  that.set_current_city(e.currentTarget.dataset.city,function(data){   console.log(data)  });  wx.setStorageSync('currentcity', e.currentTarget.dataset.city)  // that.onLoad();  this.setData({   city: e.currentTarget.dataset.city,   // scrollTop: 0,   })  // 回到首頁  wx.switchTab({   url: '/pages/index/index'   }) },})

wxml文件

<!--pages/address/address.wxml--><view class="searchLetter touchClass"> <view class="thishotText" bindtap="hotCity">  <view style="margin-top:0;">當前</view>  <!-- <view style="margin-top:0;">熱門</view> --> </view> <view wx:for="{{searchLetter}}" style="color:#53985F;font-size:20rpx;" wx:key="index" data-letter="{{item.name}}" catchtouchend="clickLetter" >{{item.name}}</view></view><block wx:if="{{isShowLetter}}"> <view class="showSlectedLetter">  {{showLetter}} </view></block><scroll-view scroll-y="true" style="height:{{winHeight}}px"  scroll-into-view="{{scrollTopId}}" scroll-top="{{scrollTop}}"> <view class='searchbox'>   <view class='input_box'>    <image class='search' src='/images/search.png'></image>    <input placeholder='城市' onchange="seacrch_city" oninput="seacrch_city" onblur="seacrch_city" value='{{empty}}' bindtap='search_city'></input>    <view class='close' bindtap='cancel_city'>×</view>   </view>   <view class='cancel' bindtap='cancel_city'>取消</view>  </view> <view id='address' hidden='{{address_show}}'>  <view class='current_city li_style'>當前:{{city}}</view>  <view class='all_city'>   <view class='li_style'>所有城市</view>    </view>   <view class="selection" wx:for="{{cityList}}" wx:key="{{item.initial}}">   <view class="item_letter" id="{{item.initial}}">{{item.initial}}</view>   <view class="item_city" wx:for="{{item.cityInfo}}" wx:for-item="ct" wx:key="{{ct.id}}" data-cityCode="{{ct.area_code}}" data-city="{{ct.area_name}}" bindtap="bindCity">    {{ct.area_name}}   </view>  </view> </view> <view id='address_search' hidden='{{!address_show}}'>    <view>   <view class="item_city" wx:for="{{search_city}}" wx:for-item="ct" wx:key="{{ct.id}}" data-cityCode="{{ct.area_code}}" data-city="{{ct.area_name}}" bindtap="bindCity">    {{ct.area_name}}   </view>   <view class='noData' hidden='{{is_data}}'>暫無數據</view>  </view> </view></scroll-view>

wxss文件

/* pages/address/address.wxss */.searchbox{ overflow: hidden; margin: 0 20rpx;}.search{ width: 20px; height: 20px; float: left; margin:7rpx 10rpx;}.input_box{ width: 630rpx; height: 50rpx; background: #efefef; border-radius: 30rpx; float: left;}.input_box input{ font-size: 25rpx; width: 450rpx; float: left;}.input_box .close{ width:30rpx; height:30rpx; background:#aaa; color:#fff; border-radius:50%; float:right; margin-right:20rpx; margin-top:10rpx; line-height:27rpx; font-size:30rpx; text-align:center;}.searchbox .cancel{ font-size: 25rpx; color: #53985F; width: 80rpx; text-align: right; float: right; line-height: 50rpx;}.current_city{ border-bottom: 1rpx solid #eee; }.li_style{ height: 50rpx; padding: 20rpx 0; width: 710rpx; line-height: 50rpx; font-size: 29rpx; margin:0 20rpx;}.searchLetter { position: fixed; right: 0; width: 50rpx; text-align: center; justify-content: center; display: flex; flex-direction: column; color: #666; z-index: 1;}.searchLetter view { margin-top: 20rpx;}.touchClass { background-color: #fff; color: #fff; top: 100rpx;}.showSlectedLetter { background-color: rgba(0, 0, 0, 0.5); color: #fff; display: flex; justify-content: center; align-items: center; position: fixed; top: 50%; left: 50%; margin: -100rpx; width: 200rpx; height: 200rpx; border-radius: 20rpx; font-size: 52rpx; z-index: 1;}.selection { display: flex; width: 100%; flex-direction: column; margin-top: 10rpx;}.item_letter { display: flex; background-color: #f5f5f5; height: 50rpx; padding-left: 34rpx; align-items: center; font-size: 24rpx; color: #666;}.item_city { display: flex; background-color: #fff; height: 100rpx; padding-left: 34rpx; align-items: center; border-bottom: 1rpx solid #ededed; font-size: 24rpx; color: #666;}.hotcity-common { font-size: 24rpx; color: #666; padding: 0 0 0 30rpx;}.thisCity { padding-top: 30rpx;}.thisCityName { display: inline-block; border: 1rpx solid #2ab4ff; border-radius: 8rpx; padding: 10rpx 0; font-size: 24rpx; color: #2ab4ff; text-align: center; min-width: 149.5rpx; margin: 20rpx 0 20rpx 30rpx;}.thishotText { color: #53985F; font-size: 20rpx; margin: 0 !important;}.slectCity { border-color: #2ab4ff !important;}.slectCity view { color: #2ab4ff !important;}.weui-grid { position: relative; float: left; padding: 10rpx 0; width: 149.5rpx; box-sizing: border-box; border: 1rpx solid #ececec; border-radius: 8rpx; margin: 10rpx 12rpx;}.weui-grid__label { display: block; text-align: center; color: #333; font-size: 24rpx; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}.noData{ text-align: center; font-size: 30rpx; color: #aaa; line-height: 60rpx;}

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av手机在线看| 一本色道久久综合狠狠躁篇的优点| 久久影院模特热| 深夜成人在线观看| 久久人体大胆视频| 国产成人精品久久二区二区| 亚洲日本aⅴ片在线观看香蕉| 国产成人激情视频| 国产精品久久电影观看| 久久久99久久精品女同性| 欧美高清视频一区二区| 中文字幕国内精品| 欧洲s码亚洲m码精品一区| 欧美肥臀大乳一区二区免费视频| 日韩在线视频线视频免费网站| 韩剧1988免费观看全集| 亚洲free性xxxx护士白浆| 亚洲精品天天看| 欧美激情一级欧美精品| 日韩成人激情视频| 久久国产精品影片| 日韩中文字幕免费视频| 欧美又大粗又爽又黄大片视频| 久久91精品国产| 97免费视频在线播放| 欧美激情一二三| 日韩中文字幕视频在线观看| 久久久久久久久久久久久久久久久久av| 亚洲国产高清自拍| 国产脚交av在线一区二区| 久久久久国产一区二区三区| 日本欧美一级片| 久久99精品久久久久久青青91| 美日韩丰满少妇在线观看| 成人免费淫片aa视频免费| 一本色道久久综合狠狠躁篇怎么玩| 欧美综合激情网| 亚洲综合一区二区不卡| 国产伦精品免费视频| 日韩av在线免费观看一区| 国产精品h片在线播放| 亚洲综合精品伊人久久| 国产精品欧美风情| 精品久久久av| 久久人人爽人人爽人人片亚洲| 日本不卡高字幕在线2019| 日韩经典中文字幕| 一区二区三区国产在线观看| 久久69精品久久久久久久电影好| 国产精品入口福利| 亚洲国产成人av在线| 欧美黄色三级网站| 欧美丝袜美女中出在线| 亚洲成人a**站| 国内揄拍国内精品| 一区国产精品视频| 欧美精品18videos性欧| 欧美国产亚洲精品久久久8v| 久久视频免费观看| 国内精品400部情侣激情| 美乳少妇欧美精品| 菠萝蜜影院一区二区免费| 亚洲欧美成人一区二区在线电影| 成人日韩av在线| 亚洲欧洲美洲在线综合| 国产欧美一区二区三区四区| 亚洲精品乱码久久久久久金桔影视| 久久人91精品久久久久久不卡| 91精品久久久久久久久中文字幕| 欧美疯狂xxxx大交乱88av| 欧美日韩国产一区二区三区| 欧美大片网站在线观看| 成人福利视频网| 亚洲欧美日韩国产中文专区| 日韩精品中文在线观看| 亚洲欧美中文字幕在线一区| 日韩av毛片网| 国产欧美日韩视频| 最近2019免费中文字幕视频三| 国产精品美乳在线观看| 国产97在线|日韩| 国产精品美女久久| 成人性生交xxxxx网站| 亚洲欧美日韩精品| 性色av一区二区三区在线观看| 亚洲精品wwwww| 亚洲最大福利视频网站| 精品久久久精品| 在线亚洲国产精品网| 亚洲一级黄色片| 大胆欧美人体视频| 国产美女久久精品香蕉69| 77777少妇光屁股久久一区| 欧美精品免费看| 亚洲美女激情视频| 日韩美女激情视频| 国产91九色视频| 亚洲精品自产拍| 国产日本欧美一区| 秋霞成人午夜鲁丝一区二区三区| 美女视频黄免费的亚洲男人天堂| 国产视频观看一区| 亚洲精品www久久久久久广东| 亚洲第一精品夜夜躁人人爽| 91手机视频在线观看| 欧美日韩午夜剧场| 国产精品久久久久久久av电影| 深夜福利91大全| 亚洲三级 欧美三级| 亚洲精品国产精品国自产观看浪潮| 亚洲免费一在线| 亚洲成年人影院在线| 日韩电影大片中文字幕| 国产精品流白浆视频| 91精品国产网站| 亚洲男人的天堂在线播放| 欧美在线观看网站| 久久免费精品日本久久中文字幕| 日韩专区中文字幕| 国产精品久久久久久久久久ktv| 欧美一级视频一区二区| 性欧美激情精品| 亚洲一区二区三区sesese| 亚洲最新av在线| 精品欧美国产一区二区三区| 亚洲久久久久久久久久久| 91精品国产沙发| 国产精品成人av性教育| 亚洲a中文字幕| 亚州av一区二区| 国产精品网红福利| 91久久精品国产91性色| 欧美成人精品在线观看| 国产精品久久久一区| 亚洲精品美女久久久久| 91精品国产综合久久香蕉最新版| 精品丝袜一区二区三区| 亚洲精品aⅴ中文字幕乱码| 亚洲欧美综合另类中字| 日韩精品一区二区视频| 97超级碰在线看视频免费在线看| 亚洲最大成人网色| 欧美电影在线观看高清| 91国偷自产一区二区三区的观看方式| 亚洲女人天堂av| 国产日本欧美一区二区三区在线| 中文字幕国产精品久久| 亚洲精品一区二区久| 国产精品偷伦免费视频观看的| 久久成人精品一区二区三区| 精品一区二区三区电影| 欧美精品久久久久久久| 国产成人精品久久二区二区| 欧美激情久久久久| 久热精品视频在线免费观看| 亚洲的天堂在线中文字幕| 欧美激情一区二区三级高清视频| 欧美午夜电影在线| 精品爽片免费看久久| 97香蕉久久夜色精品国产| 91在线看www| 精品国产一区二区三区久久| 日韩一二三在线视频播| 日韩av在线电影网|