在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 應(yīng)用軟件教程 > 詳細(xì)頁(yè)面

微信小程序商城開(kāi)發(fā)之完成用戶收貨地址管理頁(yè)面的代碼

微信小程序商城開(kāi)發(fā)之完成用戶收貨地址管理頁(yè)面的代碼

更新時(shí)間:2025-09-24 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

導(dǎo)微信小程序,簡(jiǎn)稱(chēng)小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想,用戶掃一掃或搜一下即可打開(kāi)應(yīng)用。小程序是一種不用下載就能使用的應(yīng)用,也是一...
微信小程序,簡(jiǎn)稱(chēng)小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想,用戶掃一掃或搜一下即可打開(kāi)應(yīng)用。小程序是一種不用下載就能使用的應(yīng)用,也是一項(xiàng)門(mén)檻非常高的創(chuàng)新,經(jīng)過(guò)將近兩年的發(fā)展,已經(jīng)構(gòu)造了新的小程序開(kāi)發(fā)環(huán)境和開(kāi)發(fā)者生態(tài)。
本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于微信小程序商城開(kāi)發(fā)之實(shí)現(xiàn)用戶收貨地址管理頁(yè)面的代碼 ,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。

看效果

微信小程序商城開(kāi)發(fā)之實(shí)現(xiàn)用戶收貨地址管理頁(yè)面的代碼

開(kāi)發(fā)計(jì)劃

1、布局收貨地址列表和新增收貨地址頁(yè)面

2、實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)功能

3、使用緩存管理數(shù)據(jù)

一、收貨地址列表管理

addressList.wxml

<scroll-view class="scroll" scroll-y="true">
  <view wx:for="{{addressList}}">
    <view class="product-name-wrap">
      <view class="ui-list-item-info">{{item.consignee}}
        <text decode="{{true}}" space="{{true}}">&nbsp;&nbsp;</text> {{item.mobile}}
      </view>
      <view class="ui-list-item-address">
        {{item.address}}
      </view>
      <view class="ui-list-item-time">
        <p>{{item.transportDay}}</p>
        <p class="ui-list-item-del" data-id="{{index}}" bindtap="delAddress">刪除</p>
      </view>
      <view class="separate"></view>
    </view>
  </view>
</scroll-view>
<view class="add-address" bindtap="addAddress">
  <image class="add-img"  src="../../images/add.png"></image>新增地址
</view>

addressList.wxss

page{  
  display: flex;  
  flex-direction: column;  
  height: 100%;  
}  
.product-name-wrap{
  margin: 0px 10px;
  font-size: 14px;
  color: #404040;
}
.ui-list-item-info{
  margin: 5px 0px;
}
.ui-list-item-address{
  color: #585c64;
}
.ui-list-item-time{
  margin: 5px 0px;
}
.ui-list-item-del{
  position: absolute;
  right: 10px;
  color: #585c64;
}
/* 分割線 */
.separate {
  margin: 5px 0px;
  height: 2rpx;
  background-color: #f2f2f2;
}
.add-address{
  margin: 0 auto;
  margin-top: 30px;
  width: 150px;
  height: 35px;
  border: 1px #000 solid;
  line-height: 35px;
  text-align: center;
  color: #000;
  border-radius: 5rpx;
      display: block;
}
.add-img{
  margin-right: 15rpx;
  width: 15px;
  height: 15px;
}

addressList.json

{
  "navigationBarTitleText": "管理地址"
}

addressList.js

Page({
 
  /**
   * 頁(yè)面的初始數(shù)據(jù)
   */
  data: {
    addressList:[]
  },
  /**
   * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載
   */
  onLoad: function (options) {
    var arr = wx.getStorageSync('addressList') || [];
    console.info("緩存數(shù)據(jù):" + arr);
    // 更新數(shù)據(jù)  
    this.setData({
      addressList: arr
    });
  },
 
  /**
   * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面顯示
   */
  onShow: function () {
    this.onLoad();
  },
  addAddress:function(){
    wx.navigateTo({ url: '../address/address' });
  },
  /* 刪除item */
  delAddress: function (e) {
    this.data.addressList.splice(e.target.id.substring(3), 1);
    // 更新data數(shù)據(jù)對(duì)象  
    if (this.data.addressList.length > 0) {
      this.setData({
        addressList: this.data.addressList
      })
      wx.setStorageSync('addressList', this.data.addressList);
    } else {
      this.setData({
        addressList: this.data.addressList
      })
      wx.setStorageSync('addressList', []);
    }
  }
})

二、新增收貨信息

address.wxml

<form bindsubmit="saveAddress">
  <view class="weui-cells weui-cells_after-title">
    <view class="weui-cell weui-cell_input">
      <view class="weui-cell__hd">
        <view class="weui-label">收貨人</view>
      </view>
      <view class="weui-cell__bd">
        <input class="weui-input" name="consignee" placeholder="請(qǐng)輸入收貨人真實(shí)姓名" />
      </view>
    </view>
    <view class="weui-cell weui-cell_input">
      <view class="weui-cell__hd">
        <view class="weui-label">手機(jī)號(hào)</view>
      </view>
      <view class="weui-cell__bd">
        <input class="weui-input" name="mobile" placeholder="請(qǐng)輸入收貨人手機(jī)號(hào)" />
      </view>
    </view>
    <view class="weui-cell weui-cell_select">
      <view class="weui-cell__hd weui-cell__hd_in-select-after">
        <view class="weui-label">收貨時(shí)間</view>
      </view>
      <view class="weui-cell__bd">
        <picker bindchange="bindTransportDayChange" value="{{transportIndex}}" range="{{transportValues}}">
          <view class="weui-select weui-select_in-select-after">{{transportValues[transportIndex]}}</view>
          <input name="transportDay" hidden="true" value="{{transportValues[transportIndex]}}" />
        </picker>
      </view>
    </view>
  </view>
  <view class="weui-cells__title"></view>
  <view class="weui-cells weui-cells_after-title">
    <view class="weui-cell weui-cell_select">
      <view class="weui-cell__hd weui-cell__hd_in-select-after">
        <view class="weui-label">省份</view>
      </view>
      <view class="weui-cell__bd">
        <picker bindchange="bindProvinceNameChange" value="{{provinceIndex}}" range="{{provinceNames}}">
          <view class="weui-select weui-select_in-select-after">{{provinceNames[provinceIndex]}}</view>
          <input name="provinceName" hidden="true" value="{{provinceNames[provinceIndex]}}" />
        </picker>
      </view>
    </view>
    <view class="weui-cell weui-cell_select">
      <view class="weui-cell__hd weui-cell__hd_in-select-after">
        <view class="weui-label">城市</view>
      </view>
      <view class="weui-cell__bd">
        <picker bindchange="bindCityNameChange" value="{{cityIndex}}"range="{{cityNames}}">
          <view class="weui-select weui-select_in-select-after"name="city_name">{{cityNames[cityIndex]}}</view>
 
          <input name="cityName" hidden="true" value="{{cityNames[cityIndex]}}" />
        </picker>
      </view>
    </view>
    <view class="weui-cell weui-cell_select">
      <view class="weui-cell__hd weui-cell__hd_in-select-after">
        <view class="weui-label">區(qū)縣</view>
      </view>
      <view class="weui-cell__bd">
        <picker bindchange="bindCountyNameChange" value="{{countyIndex}}"range="{{countyNames}}">
          <view class="weui-select weui-select_in-select-after">{{countyNames[countyIndex]}}</view>
          <input name="countyName" hidden="true" value="{{countyNames[countyIndex]}}" />
        </picker>
      </view>
    </view>
    <view class="weui-cell weui-cell_input">
      <view class="weui-cell__hd">
        <view class="weui-label">詳細(xì)地址</view>
      </view>
      <view class="weui-cell__bd">
        <input class="weui-input" name="address" placeholder="請(qǐng)輸入收貨人詳細(xì)地址" />
      </view>
    </view>
  </view>
  <button class="weui-btn" type="primary" form-type="submit">保存</button>
</form>

address.wxss

@import '../../utils/weui.wxss';
 
.weui-cells:before{
  top:0;
  border-top:1rpx solid white;
  }
.weui-cell{
  line-height: 3.5rem;
}
.weui-cells:after{
  bottom:0;border-bottom:1rpx solid white
}
 
.weui-btn{
  width: 80%;
}

address.json

{
  "navigationBarTitleText": "添加收貨地址"
}

address.js

var area = require('../../utils/area.js');
var areaInfo = []; //所有省市區(qū)縣數(shù)據(jù)
var provinces = []; //省
var provinceNames = []; //省名稱(chēng)
var citys = []; //城市
var cityNames = []; //城市名稱(chēng)
var countys = []; //區(qū)縣
var countyNames = []; //區(qū)縣名稱(chēng)
var value = [0, 0, 0]; //數(shù)據(jù)位置下標(biāo)
var addressList = null;
Page({
 
  /**
   * 頁(yè)面的初始數(shù)據(jù)
   */
  data: {
    transportValues: ["收貨時(shí)間不限", "周六日/節(jié)假日收貨", "周一至周五收貨"],
    transportIndex: 0,
    provinceIndex: 0, //省份
    cityIndex: 0, //城市
    countyIndex: 0, //區(qū)縣
  },
 
 
  /**
   * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載
   */
  onLoad: function(options) {
 
  },
 
  /**
   * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面顯示
   */
  onShow: function() {
    var that = this;
    area.getAreaInfo(function(arr) {
      areaInfo = arr;
      //獲取省份數(shù)據(jù)
      that.getProvinceData();
    });
  },
  // 獲取省份數(shù)據(jù)
  getProvinceData: function() {
    var that = this;
    var s;
    provinces = [];
    provinceNames = [];
    var num = 0;
    for (var i = 0; i < areaInfo.length; i++) {
      s = areaInfo[i];
      if (s.di == "00" && s.xian == "00") {
        provinces[num] = s;
        provinceNames[num] = s.name;
        num++;
      }
    }
    that.setData({
      provinceNames: provinceNames
    })
 
    that.getCityArr();
    that.getCountyInfo();
  },
 
  // 獲取城市數(shù)據(jù)
  getCityArr: function(count = 0) {
    var c;
    citys = [];
    cityNames = [];
    var num = 0;
    for (var i = 0; i < areaInfo.length; i++) {
      c = areaInfo[i];
      if (c.xian == "00" && c.sheng == provinces[count].sheng && c.di != "00") {
        citys[num] = c;
        cityNames[num] = c.name;
        num++;
      }
    }
    if (citys.length == 0) {
      citys[0] = {
        name: ''
      };
      cityNames[0] = {
        name: ''
      };
    }
    var that = this;
    that.setData({
      citys: citys,
      cityNames: cityNames
    })
    console.log('cityNames:' + cityNames);
    that.getCountyInfo(count, 0);
  },
 
  // 獲取區(qū)縣數(shù)據(jù)
  getCountyInfo: function(column0 = 0, column1 = 0) {
    var c;
    countys = [];
    countyNames = [];
    var num = 0;
    for (var i = 0; i < areaInfo.length; i++) {
      c = areaInfo[i];
      if (c.xian != "00" && c.sheng == provinces[column0].sheng && c.di == citys[column1].di) {
        countys[num] = c;
        countyNames[num] = c.name;
        num++;
      }
    }
    if (countys.length == 0) {
      countys[0] = {
        name: ''
      };
      countyNames[0] = {
        name: ''
      };
    }
    console.log('countyNames:' + countyNames);
    var that = this;
    // value = [column0, column1, 0];
 
    that.setData({
      countys: countys,
      countyNames: countyNames,
      // value: value,
    })
  },
 
  bindTransportDayChange: function(e) {
    console.log('picker country 發(fā)生選擇改變,攜帶值為', e.detail.value);
    this.setData({
      transportIndex: e.detail.value
    })
  },
 
  bindProvinceNameChange: function(e) {
    var that = this;
    console.log('picker province 發(fā)生選擇改變,攜帶值為', e.detail.value);
    var val = e.detail.value
    that.getCityArr(val); //獲取地級(jí)市數(shù)據(jù)
    that.getCountyInfo(val, 0); //獲取區(qū)縣數(shù)據(jù)
 
    value = [val, 0, 0];
    this.setData({
      provinceIndex: e.detail.value,
      cityIndex: 0,
      countyIndex: 0,
      value: value
    })
 
  },
 
  bindCityNameChange: function(e) {
    var that = this;
    console.log('picker city 發(fā)生選擇改變,攜帶值為', e.detail.value);
 
    var val = e.detail.value
    that.getCountyInfo(value[0], val); //獲取區(qū)縣數(shù)據(jù)
    value = [value[0], val, 0];
    this.setData({
      cityIndex: e.detail.value,
      countyIndex: 0,
      value: value
    })
  },
 
  bindCountyNameChange: function(e) {
    var that = this;
    console.log('picker county 發(fā)生選擇改變,攜帶值為', e.detail.value);
    this.setData({
      countyIndex: e.detail.value
    })
  },
 
  saveAddress: function(e) {
    var consignee = e.detail.value.consignee;
    var mobile = e.detail.value.mobile;
    var transportDay = e.detail.value.transportDay;
    var provinceName = e.detail.value.provinceName;
    var cityName = e.detail.value.cityName;
    var countyName = e.detail.value.countyName;
    var address = e.detail.value.address;
 
    console.log(transportDay + "," + provinceName + "," + cityName + "," + countyName + "," + address); //輸出該文本 
 
    var arr = wx.getStorageSync('addressList') || [];
    console.log("arr,{}", arr);
    addressList = {
      consignee: consignee,
      mobile: mobile,
      address: provinceName + cityName + countyName+address,
      transportDay: transportDay
    }
      arr.push(addressList);
    wx.setStorageSync('addressList', arr);
    wx.navigateBack({
      
    })
  }
})

area.js和weui.wxss 可以看下方源碼獲取方式,這里就不多做解釋。

相關(guān)推薦:

微信小程序商城開(kāi)發(fā)之用微信授權(quán)并實(shí)現(xiàn)個(gè)人中心的頁(yè)面代碼

微信小程序商城開(kāi)發(fā)之實(shí)現(xiàn)商品加入購(gòu)物車(chē)的功能(代碼)

微信小程序商城開(kāi)發(fā)之https框架的搭建以及頂部和底部導(dǎo)航的實(shí)現(xiàn)

以上就是微信小程序商城開(kāi)發(fā)之實(shí)現(xiàn)用戶收貨地址管理頁(yè)面的代碼的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


小程序是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想,用戶掃一掃或者搜一下即可打開(kāi)應(yīng)用。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類(lèi)教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 日韩人妻一区二区三区蜜桃视频| 三级av免费看| 青草青青在线视频| 欧美 日韩 国产精品| 9l视频自拍9l视频自拍| 亚洲一区二区福利视频| 国产一级做a爰片久久| 亚洲黄色小视频在线观看| 国产视频一区二区视频| 爱情岛论坛成人| 一区二区三区免费播放| 成人性生交免费看| 亚洲最大天堂网| 日韩精品福利片午夜免费观看| 国产精品久久成人免费观看| 青青草综合视频| 加勒比成人在线| 日本va中文字幕| av中文字幕网址| 日本久久高清视频| 久草热视频在线观看| 手机在线看福利| 四虎影院一区二区| 欧美网站免费观看| 不卡的av中文字幕| 人妻互换免费中文字幕| 91猫先生在线| 三级性生活视频| 波多野结衣之无限发射| 国产xxxxx视频| 亚洲最新免费视频| 丰满人妻中伦妇伦精品app| 伊人影院综合在线| 91免费黄视频| 国产精品v日韩精品v在线观看| 穿情趣内衣被c到高潮视频| 青青草原av在线播放| 国产大尺度在线观看| 国产性xxxx18免费观看视频| 国产乱叫456| 精品国产成人av在线免| 4444在线观看| 91丨九色丨蝌蚪| avav在线看| 男人天堂手机在线视频| 香蕉视频xxx| 欧美日韩在线成人| 欧美午夜小视频| 国产免费一区二区三区四在线播放| 久色视频在线播放| www.18av.com| 99999精品| 欧美国产日韩另类| 亚洲一区日韩精品| 少妇激情一区二区三区| 免费看一级大黄情大片| 免费网站永久免费观看| 看全色黄大色大片| 永久免费黄色片| 国产高清999| 红桃视频 国产| www.久久91| 最新国产黄色网址| 日韩肉感妇bbwbbwbbw| 啊啊啊一区二区| 日本三级免费观看| 日韩精品视频一区二区在线观看| 欧美大黑帍在线播放| 女人床在线观看| 青青在线免费观看| 97超碰在线人人| 你真棒插曲来救救我在线观看| 精品嫩模一区二区三区| 超碰成人免费在线| 国产成人在线小视频| 青草视频在线观看视频| 精品无码国产一区二区三区av| 欧美深夜福利视频| 国产主播在线看| 久久99999| 天天成人综合网| 国产自产在线视频| 久久久久免费精品| 亚洲三级在线观看视频| 日韩专区第三页| 久久9精品区-无套内射无码| www.超碰com| 法国空姐在线观看免费| av在线免费观看国产| 国产精品欧美激情在线观看| 三级在线免费看| 欧美一级免费在线观看| 内射国产内射夫妻免费频道| 国产第一页视频| 97超碰人人看| 欧美成人高潮一二区在线看| 538在线视频观看| 97精品国产97久久久久久粉红| 久久这里只有精品23| 日本肉体xxxx裸体xxx免费| 日韩高清在线一区二区| 欧美二区在线视频| 波多野结衣免费观看| 成熟丰满熟妇高潮xxxxx视频| 日本中文字幕影院| 欧美亚洲黄色片| 吴梦梦av在线| 男人的天堂视频在线| 99re99热| 日韩在线视频在线观看| 午夜精品久久久久久久无码| 午夜激情av在线| 国内外成人激情视频| 涩多多在线观看| 黑森林精品导航| 免费看国产曰批40分钟| 午夜探花在线观看| 911福利视频| 密臀av一区二区三区| 国产www免费| 日韩一二区视频| 亚洲图片 自拍偷拍| 欧美一级xxxx| 欧美精品一区二区性色a+v| 色免费在线视频| 国产三级精品三级在线| 成人国产在线看| 国产成人av影视| 污污动漫在线观看| 91免费视频黄| 免费观看日韩毛片| 日韩爱爱小视频| 亚洲中文字幕无码一区二区三区| 免费看的黄色大片| 久久国产精品国产精品| 老司机午夜av| 成人三级视频在线播放| 91丝袜超薄交口足| 国产av天堂无码一区二区三区| 国内av一区二区| 老司机午夜免费福利视频| 男女激烈动态图| 国产性生交xxxxx免费| 日韩精品一区二区三区电影| 欧美黑人又粗又大又爽免费| a在线视频观看| 国产三级日本三级在线播放| 老司机午夜免费福利视频| 男人靠女人免费视频网站| 国产树林野战在线播放| 99精品视频免费版的特色功能| 在线视频观看一区二区| 国产成人免费高清视频| 男人天堂a在线| 人妻丰满熟妇av无码区app| 冲田杏梨av在线| 天堂av免费看| 欧美乱大交xxxxx潮喷l头像| 亚洲自偷自拍熟女另类| 中文字幕66页| www.日本在线播放| 手机视频在线观看| 欧美国产综合在线| 妺妺窝人体色www在线小说| 日本美女视频一区| 国产二区视频在线| 亚洲欧美日韩三级| 缅甸午夜性猛交xxxx| 蜜臀一区二区三区精品免费视频| 超级碰在线观看| 成人3d动漫一区二区三区| 一本之道在线视频| 99久久国产宗和精品1上映 | 三上悠亚av一区二区三区| 懂色av一区二区三区四区五区| 久在线观看视频| 欧美a级黄色大片| 日本人视频jizz页码69| 欧洲精品在线播放| 亚洲一区二区中文字幕在线观看| 国产在线播放观看| 中文字幕色呦呦| 亚洲免费黄色录像| 欧美激情国产精品日韩| 日韩欧美不卡在线| 好吊色这里只有精品| 一道本视频在线观看| 精品国产免费av| 男女猛烈激情xx00免费视频| 中文字幕制服丝袜在线| 91丨九色丨蝌蚪| 日韩中文字幕a| av在线无限看| 天堂社区在线视频| 超碰在线97免费| 激情视频免费网站| 国产精品乱码久久久久| 久章草在线视频| 精品久久久久av| 天堂社区在线视频|