当前位置:   article > 正文

微信小程序,添加地址,修改地址,删除地址及设为默认地址(上)_微信小程序实现新增地址保存功能

微信小程序实现新增地址保存功能

地址管理页面的wxml

  1. <view style="padding-top: {{pageTopHeight}}px;">
  2. //判断地址有没有数据
  3. <view wx:if="{{addressList.length != 0}}" >
  4. <view wx:for="{{addressList}}" wx:key="id">
  5. <view style="font-weight: bolder;">收货人:{{item.name}}</view>
  6. <view>收货地址:{{item.region[0]}}{{item.region[1]}}{{item.region[2]
  7. {{item.specific}}</view>
  8. <view style="display: flex;">
  9. <view>
  10. <radio bindtap="change" checked="{{item.checked}}" id="{{item.id}}"
  11. value="{{item.checked}}"></radio>
  12. <text style="margin-left: 20rpx;">设为默认</text>
  13. </view>
  14. <view style="flex:1;text-align: right;">
  15. <text bindtap="editli" id="{{item.id}}">编辑</text>
  16. <text style="margin-left: 60rpx;" bindtap="delAddress" data-id="
  17. {{index}}">删除</text>
  18. </view>
  19. </view>
  20. </view>
  21. </view>
  22. <view wx:else>
  23. <image style="width: 100%;height: 100vh;" src="/Images/8.png"></image>
  24. </view>
  25. <view class="footer">
  26. <view class="shopping_cart" style="background-color: #ec3c20" bindtap="addaddress">
  27. 添加新地址
  28. </view>
  29. <view class="shopping_cart" style="background-color: #fa8412;margin-left: 40rpx;">
  30. 导入微信地址
  31. </view>
  32. </view>
  33. </view>

他的wxss

  1. /* 尾部 */
  2. .footer{
  3. width: 100%;
  4. height: 100rpx;
  5. background-color: #fff;
  6. border-top: 1px solid #f1f1f1;
  7. position: fixed;
  8. bottom: 0;
  9. z-index: 99;
  10. padding: 0rpx 30rpx;
  11. font-size: 12px;
  12. color: #676774;
  13. display: flex;
  14. }
  15. .shopping_cart{
  16. margin: 10rpx 0;
  17. color: #fff;
  18. padding: 0 80rpx;
  19. font-size: 16px;
  20. line-height: 80rpx;
  21. border-radius: 100rpx;
  22. }
  23. /*单选框 */
  24. /* // 大小设置 */
  25. radio .wx-radio-input {
  26. border-radius: 50%;
  27. width: 24px;
  28. height: 24px;
  29. }
  30. /* // 边框颜色 */
  31. radio .wx-radio-input {
  32. border-color: #87858a;
  33. }
  34. /* // 选中状态设置 */
  35. radio .wx-radio-input.wx-radio-input-checked {
  36. border-color: #e93323 !important;
  37. background: #e93323!important;
  38. }
  39. .weui-cell__bd{
  40. margin-left: 20rpx;
  41. }

ok,现在样子设好了,现在就是他的js

  1. //添加地址
  2. addaddress:function(){
  3. wx.navigateTo({
  4. url:"/components/addaddress/addaddress",
  5. })
  6. },
  7. //修改
  8. editli:function(e){
  9. //e.currentTarget.id当前的id
  10. wx.navigateTo({
  11. url:`/components/addaddress/addaddress?id=${e.currentTarget.id}`,
  12. })
  13. },
  14. //页面数据
  15. onLoad: function (options) {
  16. var arr = wx.getStorageSync('addressList') || [];//添加地址的本地存储
  17. var id = 0 //由于没有加id,所以在这里遍历添加id
  18. for (let index = 0; index < arr.length; index++) {
  19. arr[index].id = id+=1
  20. }
  21. wx.setStorageSync('addressList', arr);//保存
  22. this.setData({//渲染到页面
  23. addressList: arr,
  24. });
  25. },
  26. //设默认
  27. change:function(e){
  28. var items = this.data.addressList;
  29. for (var i = 0; i < items.length; i++){
  30. if(items[i].id==e.currentTarget.id){
  31. items[i].checked = true
  32. wx.showToast({
  33. title: '设置成功',
  34. duration:2000,
  35. })
  36. }else{
  37. items[i].checked =false
  38. }
  39. }
  40. this.setData({
  41. addressList: items
  42. });
  43. wx.setStorageSync('addressList', items);
  44. },
  45. /* 删除 */
  46. delAddress: function (e) {
  47. var id = e.currentTarget.dataset.id//数组下标
  48. this.data.addressList.splice(id, 1);
  49. // 更新data数据对象
  50. if (this.data.addressList.length > 0) {
  51. wx.showToast({
  52. title: '删除成功',
  53. duration:2000,
  54. })
  55. this.setData({
  56. addressList: this.data.addressList
  57. })
  58. wx.setStorageSync('addressList', this.data.addressList);
  59. } else {
  60. this.setData({
  61. addressList: this.data.addressList
  62. })
  63. wx.setStorageSync('addressList', []);
  64. }
  65. },

现在地址管理这个页面就完成了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/634360
推荐阅读
相关标签
  

闽ICP备14008679号