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

 更新时间:2020年08月20日 09:46:47   作者:依然范特西的XXK  
这篇文章主要介绍了基于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设置默认地址内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • defineProperty和Proxy基础功能及性能对比

    defineProperty和Proxy基础功能及性能对比

    这篇文章主要为大家介绍了defineProperty和Proxy基础功能及性能对比,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • TypeScript中集成Tween.js踩坑记录

    TypeScript中集成Tween.js踩坑记录

    这篇文章主要介绍了TypeScript中集成Tween.js踩坑记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • VUE实现大转盘抽奖

    VUE实现大转盘抽奖

    营运三宝(九宫格、大转盘、老虎机,当然此三宝当然是最基础的营销运营手段),本片文章聊聊大转盘,转盘的实现逻辑应该是营销方案较为简单的一种了,本文将介绍如何实现大转盘抽奖,感兴趣的朋友可以参考下
    2021-05-05
  • Css中该如何使用Vue的变量

    Css中该如何使用Vue的变量

    在我们使用Vue开发时,经常会用到CSS,下面这篇文章主要给大家介绍了关于Css中该如何使用Vue变量的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • Vue实现web分页组件详解

    Vue实现web分页组件详解

    这篇文章主要为大家详细介绍了Vue实现web分页组件的实现方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 详解刷新页面vuex数据不消失和不跳转页面的解决

    详解刷新页面vuex数据不消失和不跳转页面的解决

    这篇文章主要介绍了详解刷新页面vuex数据不消失和不跳转页面的解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • 如何为vue的项目添加单元测试

    如何为vue的项目添加单元测试

    这篇文章主要介绍了如何为vue的项目添加单元测试,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Vue3中watch监听器及源码学习

    Vue3中watch监听器及源码学习

    本文主要介绍了Vue3中watch监听器及源码学习,Watch侦听器在Vue3中特性进行了一些改变和优化,下面来详解的介绍一下基本使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • vue3+element plus中利用el-menu如何实现路由跳转

    vue3+element plus中利用el-menu如何实现路由跳转

    这篇文章主要给大家介绍了关于vue3+element plus中利用el-menu如何实现路由跳转的相关资料,在Vue Router中我们可以使用el-menu组件来实现菜单导航,通过点击菜单项来跳转到不同的路由页面,需要的朋友可以参考下
    2023-12-12
  • 基于form-data请求格式详解

    基于form-data请求格式详解

    今天小编就为大家分享一篇基于form-data请求格式详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10

最新评论