DDR爱好者之家 Design By 杰米

AddressEdit 地址编辑

1.vant-ui地址编辑中已配置 :area-list=“areaList”,以初始化全部省市区的数据

这是结合vant-ui弹出层一起用的,用弹出层包裹省市区选择的组件,然后根据需要,参照官方文档,进行相关配置,默认底部弹出。

重要的是,官方没有说明具体怎么使用,所以在这里,要获取接收省市区的json数据。其中area.js文件在官方可以下载,放于assets/js/area.js ,然后引入文件,就可以了。

vant-ui AddressEdit地址编辑和van-area的用法说明

如下:

<template>
 <div>
 <van-nav-bar title="地址信息" left-text="返回" left-arrow @click-left="onClickLeft"/>
 <van-address-edit
 :area-list="areaList"
 show-postal
 show-delete
 show-set-default
 show-search-result
 :search-result="searchResult"
 @save="onSave"
 @delete="onDelete"
 @change-detail="onChangeDetail"
 />
 </div>
</template>

<script>
import areaList from "../assets/js/area.js";
import { Toast } from "vant";
export default {
 name: "Address",
 data() {
 return {
 areaList,
 searchResult: []
 };
 },
 methods: {
 onClickLeft() {
 this.$router.push("/my");
 },
 onSave() {
 this.$router.push("/my");
 },
 onDelete() {
 Toast("delete");
 this.$router.push("/my");
 },
 onChangeDetail(val) {
 if (val) {
 this.searchResult = [
  {
  name: "万达广场",
  address: "郑州市二七区"
  }
 ];
 } else {
 this.searchResult = [];
 }
 }
 }
};
</script>

<style scoped>
</style>

vant-ui AddressEdit地址编辑和van-area的用法说明

补充知识:vue移动端地址编辑地址回显

写这篇文章主要是前面写这个地址的时候遇到了一些坑,走了许多弯路,这里记录一下,给新手朋友们指道,

这是编辑原图

vant-ui AddressEdit地址编辑和van-area的用法说明

项目原图

最开始我用了vant ui框架,在地址这方面vant一直很好用,地址列表 省市区选择组件都用,

最开始没什么问题 在经历了几次版本更新之后 不知道什么页面与vant地址选择组件起冲突,导致选择省市区的时候 弹框里空白,在经历了无数次尝试之后,我放弃了 改用了muse省市区选择组件,但是地址回显的时候由于后端返回不了城市编码,没办法 最后使用了vux ,

使用了vuex的组件又遇到一点麻烦,我是只有在地址列表把地址详情传过去,然后在created接受,并直接赋值给组件,这是时候发现页面地址选择部分白板,并没有达到我们想要的回显效果,后面研究了一下 是因为我们在created直接赋值 导致赋值实在页面渲染完毕之前的 这时候页面就无法显示渲染之前的内容,下面是我的解决办法

不能直接在created时给组件赋值,在methods写个方法 0.1s之后再赋值 .1s已经足够页面渲染完成 只要页面渲染完毕再辅助 就能正常显示

vant-ui AddressEdit地址编辑和van-area的用法说明

vant-ui AddressEdit地址编辑和van-area的用法说明

完美解决!

以上这篇vant-ui AddressEdit地址编辑和van-area的用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米