1.订单提交地址等组件的应用。
使用的组件有如下:
import {Card,button,Toast,AddressList,Popup,AddressEdit,Area} from 'vant'
主要是配货地址编辑这块;
<van-address-edit
:area-list="areaList"
:address-info="addressInfo"
show-postal
show-delete
show-set-default
show-search-result
@save="onSave"
@delete="onDelete"
@change-detail="onChangeDetail"
/>
地址编辑。没有用默认的地址编辑属性:search-result
search-result 详细地址搜索结果
所以去掉了,一是没有做地理搜索功能。而且发现模拟测试老是有bug,干脆去掉。
2.默认list属性。要重新定义。配合自己需要做的功能。文档给的属性很少
list:[
{ id: '1',
name: '张三',
tel: '13000000000',
province:'江苏',
city:'无锡',
county:'崇安区',
area_code:'120000',
address: '浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室',
postal_code:'123456',
}
],
原来的
{
id: '1',
name: '张三',
tel: '13000000000',
address: '浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室'
},
,后添加详细的数据,是为了方便后期做更改编辑功能。
3.地址json文件。
默认要导入全国地址表,
// 导入 area.js import areaList from '../../../config/area.min.js'
直接在函数。将数据绑定给了模型 areaList
:area-list="areaList"
4.保存地址:
默认数据类型对象。所以定义了一个addr。否则老是报错。但不影响程序运行。
addr重新组合了拿到的数据。压入list里去渲染,这里做了下判断是否保存数据成功
let addr = new Object;
console.log('content');
console.log(content);
let len = this.list.length + 1;
addr = {
id:len,
name:content.name,
tel:content.tel,
city:content.city,
county:content.county,
is_default:content.is_default,
postal_code:content.postal_code,
province:content.province,
area_code:content.area_code,
address:content.province+content.city+content.county+content.address_detail
};
let is_add = this.list.push(addr);
5,编辑的时候。 onEdit(item, index) 这个item就是我最先更改的list数据模型了。这里有需要的地区code码。这就是想要的。
因为跳到编辑页面,需要将地区重新解析出来。测试时可以。
其中待完善:编辑时候的详细地址未变化。删除地址等操作
下方。测试代码demo
<template>
<div class="home-page">
<div class="home">
<!-- top 高度固定6vh; -->
<header-vue></header-vue>
<!-- 内容滚动 -->
<div class="home-content wrapper" ref="wrapper">
<div class="content">
<div style="min-height:900px; border:1px solid red;">
进入订单页面显示订单列表。开始编辑地址收货表。如果之前有,查询出来,直接选择上。没有用户开始去编辑
<!-- 新增收货地址:vant - AddressList -->
<van-address-list
v-model="chosenAddressId"
:list="list"
@add="onAdd"
@edit="onEdit"
/>
<!-- 弹出层,提示选择地址,没有则编辑 -->
<van-popup v-model="show1" position="" :overlay="false">
<van-button @click="show1 = false">关闭</van-button>
<!-- 地址组件 -->
<!-- <div style="width:100vw;height:100vh;background:#fff;">地址编辑内容</div> -->
<van-address-edit
:area-list="areaList"
:columns-num="2"
:address-info="addressInfo"
show-postal
show-delete
show-set-default
show-search-result
@save="onSave"
@delete="onDelete"
@change-detail="onChangeDetail"
/>
</van-popup>
<!-- vatn - card -->
<van-card
title="标题"
desc="描述"
num="2"
price="2.00"
:thumb="imageURL"
>
<div slot="footer">
<van-button size="mini">按钮</van-button>
<van-button size="mini">按钮</van-button>
</div>
</van-card>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import BScroll from 'better-scroll'
import HeaderVue from '../../components/common/header/Header.vue'
// 导入 area.js
import areaList from '../../../config/area.min.js'
import {Card,button,Toast,AddressList,Popup,AddressEdit,Area} from 'vant'
export default {
name: '',
components:{
HeaderVue,
[Card.name]:Card,
[button.name]:button,
[Toast.name]:Toast,
[AddressList.name]:AddressList,
[Popup.name]:Popup,
[AddressEdit .name]:AddressEdit,
[Area.name]:Area,
},
data () {
return {
msg: 'Welcome to Home.vue App sss',
chosenAddressId:'1',
show:false,
show1:false,
areaList:'',
searchResult:[
{ id: '1',
name: '张三',
tel: '13000000000',
address: '浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室'
}
],
addressInfo:'',
imageURL:'kdkk',
list:[
{ id: '1',
name: '张三',
tel: '13000000000',
province:'江苏',
city:'无锡',
county:'崇安区',
area_code:'120000',
address: '浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室',
postal_code:'123456',
}
],
}
},
mounted(){
// 初始化滚动插件 better-scroll
this.scroll = new BScroll(this.$refs.wrapper,{
scrollY:true,
click:true,//一开始的点击事件被bscroll阻止了,设置这个才能点击
})
this.getOrderDate()
},
methods:{
getOrderDate:function(){
console.log('获取 该用户名下的订单表数据')
},
onAdd() {
console.log('新增收货地址');
this.show1 = true;
console.log('areaList')
console.log(areaList)
this.areaList = areaList;
// 地址编辑默认信息
this.addressInfo = new Object;
},
onEdit(item, index) {
let addressInfo = new Object;
this.areaList = areaList;
// Toast('编辑收货地址:' + index);
console.log('编辑收货地址:' + index);
console.log(item);
// 进入编辑模式
this.show1 = true;
addressInfo = {
id:item.id,
name:item.name,
tel:item.tel,
province:item.province,
city:item.city,
county:item.county,
area_code:item.area_code,
address_detail:item.address,
postal_code:item.postal_code,
is_default:item.is_default,
}
this.addressInfo = addressInfo;
},
onSave(content) {
let addr = new Object;
console.log('content');
console.log(content);
let len = this.list.length + 1;
addr = {
id:len,
name:content.name,
tel:content.tel,
city:content.city,
county:content.county,
is_default:content.is_default,
postal_code:content.postal_code,
province:content.province,
area_code:content.area_code,
address:content.province+content.city+content.county+content.address_detail
};
let is_add = this.list.push(addr);
// 判断是否选中默认
if (content.is_default) {
this.chosenAddressId = len;
}
if (is_add) {
this.show1 = false;
}
console.log(this.list);
// this.list = listArr;
// this.list = [{
// id: '1',
// name: '张三',
// tel: '13000000000',
// address: '浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室'
// }];
},
onDelete() {
Toast('delete');
console.log('delete');
},
onChangeDetail(val) {
// if (val) {
// this.searchResult = [{
// name: '黄龙万科中心',
// address: '杭州市西湖区'
// }];
// }else {
// this.searchResult = [];
// }
}
},
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style >
.home-page{}
.home{
width: 100%;
}
.header{
width: 100%;
height: 6vh;
border-bottom: 1px solid #ddd;
}
.home-content{
height: 94vh;
border: 1px solid #000;
overflow: hidden;
}
/*弹出层*/
.van-popup{
/* width: 100%;
top: 40%!important;*/
}
.van-address-list__add{
position: relative!important;
z-index: 1999;
font-size: 14px;
}
.van-cell{
position: relative!important;
}
.van-popup{
height: 100%;
width: 100%;
}
.van-address-list__group{
padding-bottom: 10px!important;
}
</style>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
vantUI,vue
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]