基于vue.js仿淘宝收货地址并设置默认地址的案例分析


Posted in Javascript onAugust 20, 2020

这个案例主要是渲染地址列表,然后设置默认地址,与淘宝的收货地址功能一样,具体自行查看自己的淘宝收货地址;

效果图:

基于vue.js仿淘宝收货地址并设置默认地址的案例分析

html结构

<!--the-address-->
<div class="the-address">
  <div class="adr-tent" id="vue-address">
    <table class="adr-table">
      <thead class="table-thead">
        <tr>
          <th rowspan="1" class="thh">
            <span class="tn">收货人</span>
          </th>
          <th rowspan="1" class="thh">
            <span class="tn">所在地区</span>
          </th>
          <th rowspan="1" class="thh">
            <span class="tn">详细地址</span>
          </th>
          <th rowspan="1" class="thh">
            <span class="tn">邮编</span>
          </th>
          <th rowspan="1" class="thh">
            <span class="tn">电话/手机</span>
          </th>
          <th rowspan="1" class="thh">
            <span class="tn">操作</span>
          </th>
          <th rowspan="1" class="thh">
            <span class="tn">设置</span>
          </th>
        </tr>
      </thead>
      <tbody class="table-tbody">
        <tr class="item" v-for="(v,i) in addressList">
          <td class="tdd">
            <span class="ti">
              <em class="tt">{{v.name}}</em>
            </span>
          </td>
          <td class="tdd">
            <span class="ti">
              <em class="tt">{{v.address}}</em>
            </span>
          </td>
          <td class="tdd">
            <span class="ti">
              <em class="tt">{{v.detailAddress}}</em>
            </span>
          </td>
          <td class="tdd">
            <span class="ti">
              <em class="tt">{{v.zipCode}}</em>
            </span>
          </td>
          <td class="tdd">
            <span class="ti">
              <em class="tt">{{v.phone}}</em>
            </span>
          </td>
          <td class="tdd">
            <span class="ti">
               <div class="handle">
                <a href="javascript:;" class="a-chg">修改</a>
                <i class="line">|</i>
                <em class="i-del">删除</em>
              </div>
            </span>
          </td>
          <td class="tdd">
            <span class="ti">
               <em class="set-def cur" v-if="v.isDefault">默认地址</em>
               <em class="set-def" v-else @click="setDefault(i)">设为默认</em>
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

js功能

//地址管理
  const vueAddress = new Vue({
    el: '#vue-address',
    data(){
      return{
        addressList: [], //地址列表
      }
    },
    created(){
      this.getAddressJson();
    },
    methods:{
      //获取地址列表数据
      getAddressJson(){
        let url = 'json/addressTest.json';
        axios.get(url)
          .then(response =>{
            this.addressList = response.data.list;
          })
          .catch(error => {
            console.log(error)
          })
      },

      //设置默认地址
      setDefault(i){
        const addressList = this.addressList;
        addressList.forEach((item, index) => {
          item.isDefault = index == i;
        });
        addressList.splice(0, 0, ...addressList.splice(i, 1));
      }

    }
  });

如有发现问题,可留言哦~

具体案例,可访问本人github:https://github.com/xiexikang/vue-setDefaultAddress

总结

到此这篇关于基于vue.js仿淘宝收货地址并设置默认地址的案例分析的文章就介绍到这了,更多相关vuejs设置默认地址内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
国外Lightbox v2.03.3 最新版 下载
Oct 17 Javascript
将CKfinder整合进CKEditor3.0的新方法
Jan 10 Javascript
JavaScript操作XML 使用百度RSS作为新闻源示例
Feb 17 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
Mar 24 Javascript
JavaScript实现的日期控件具体代码
Nov 18 Javascript
js入门之Function函数的使用方法【新手必看】
Nov 22 Javascript
Ionic2调用本地SQlite实例
Apr 22 Javascript
Node.js  事件循环详解及实例
Aug 06 Javascript
基于vue组件实现猜数字游戏
May 28 Javascript
Vue中 key keep-alive的实现原理
Sep 18 Javascript
优化Vue项目编译文件大小的方法步骤
May 27 Javascript
如何在JavaScript中创建具有多个空格的字符串?
Feb 23 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
Aug 20 #Javascript
微信小程序连续签到7天积分获得功能的示例代码
Aug 20 #Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 #Javascript
JavaScript 空间坐标的使用
Aug 19 #Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
Aug 19 #Javascript
jQuery实现评论模块
Aug 19 #jQuery
javaScript代码飘红报错看不懂?读完这篇文章再试试
Aug 19 #Javascript
You might like
php简单的上传类分享
2016/05/15 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
node.js中的fs.writeFileSync方法使用说明
2014/12/14 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
JQuery ztree 异步加载实例讲解
2016/02/25 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
微信小程序 配置文件详细介绍
2016/12/14 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
浅谈Vue内置component组件的应用场景
2018/03/27 Javascript
原生JS使用Canvas实现拖拽式绘图功能
2019/06/05 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日 小组赛A组 TNC VS OpTic
2018/03/30 DOTA
简单介绍Python中的RSS处理
2015/04/13 Python
django站点管理详解
2017/12/12 Python
Python实现扣除个人税后的工资计算器示例
2018/03/26 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
HTML5 新事件 小结
2009/07/16 HTML / CSS
伊利莎白雅顿官网:Elizabeth Arden
2016/10/10 全球购物
国家励志奖学金获奖感言
2014/01/09 职场文书
中学生学雷锋演讲稿
2014/04/26 职场文书
长江三峡导游词
2015/01/31 职场文书
撤诉状格式范本
2015/05/19 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
2016廉洁从政心得体会
2016/01/19 职场文书
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js
Python if else条件语句形式详解
2022/03/24 Python