AddressEdit 地址编辑
1.vant-ui地址编辑中已配置 :area-list=“areaList”,以初始化全部省市区的数据
这是结合vant-ui弹出层一起用的,用弹出层包裹省市区选择的组件,然后根据需要,参照官方文档,进行相关配置,默认底部弹出。
重要的是,官方没有说明具体怎么使用,所以在这里,要获取接收省市区的json数据。其中area.js文件在官方可以下载,放于assets/js/area.js ,然后引入文件,就可以了。
如下:
<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>
补充知识:vue移动端地址编辑地址回显
写这篇文章主要是前面写这个地址的时候遇到了一些坑,走了许多弯路,这里记录一下,给新手朋友们指道,
这是编辑原图
项目原图
最开始我用了vant ui框架,在地址这方面vant一直很好用,地址列表 省市区选择组件都用,
最开始没什么问题 在经历了几次版本更新之后 不知道什么页面与vant地址选择组件起冲突,导致选择省市区的时候 弹框里空白,在经历了无数次尝试之后,我放弃了 改用了muse省市区选择组件,但是地址回显的时候由于后端返回不了城市编码,没办法 最后使用了vux ,
使用了vuex的组件又遇到一点麻烦,我是只有在地址列表把地址详情传过去,然后在created接受,并直接赋值给组件,这是时候发现页面地址选择部分白板,并没有达到我们想要的回显效果,后面研究了一下 是因为我们在created直接赋值 导致赋值实在页面渲染完毕之前的 这时候页面就无法显示渲染之前的内容,下面是我的解决办法
不能直接在created时给组件赋值,在methods写个方法 0.1s之后再赋值 .1s已经足够页面渲染完成 只要页面渲染完毕再辅助 就能正常显示
完美解决!
以上这篇vant-ui AddressEdit地址编辑和van-area的用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。