45
chenyc
2023-05-24 7e6b8b1eef198ab4de9633288037a23817f9ee39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<template>
    <div>
        <van-popup v-model:show="showDizhi" position="bottom" :style="{ height: '100%' }">
            <van-nav-bar
                title="收货地址管理"
                left-text="返回"
                left-arrow
                @click-left="onClickLeft"
                />
            <van-address-list
                v-model="chosenAddressId"
                :list="list"
                default-tag-text="默认"
                @add="onAdd"
                @edit="onEdit"
                />
        </van-popup>
        <van-popup v-model:show="editDizhi" position="bottom" :style="{ height: '100%' }">
            <van-nav-bar
                title="编辑地址"
                left-text="返回"
                left-arrow
                @click-left="onClickLeft2"
                />
                <van-address-edit
                    ref="addressEditRef"
                    :area-list="areaList"
                    show-delete
                    show-set-default
                    show-search-result
                    :address-info="addressInfo"
                    :area-columns-placeholder="['请选择', '请选择', '请选择']"
                    @save="onSave"
                    @delete="onDelete"
                />
        </van-popup>
    </div>
</template>
<script setup lang="ts">
 
import { Toast } from 'vant';
import { ref } from 'vue';
import { areaList } from '@vant/area-data';
import type { AddressEditInstance } from 'vant';
name:"dizhibianji"
const emit = defineEmits(['fanhuiFun'])
const showDizhi=ref(false)
const editDizhi=ref(false)
const addressEditRef = ref<AddressEditInstance>();
const chosenAddressId = ref('1')
const addressInfo=ref({
    name:'',
    tel:'',
    province:'',
    city:"",
    county:'',
    addressDetail:'',
    isDefault:false
})
const list =[
{
        id: '1',
        name: '张三',
        tel: '13000000000',
        address: '浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室',
        isDefault: true,
      },
      {
        id: '2',
        name: '李四',
        tel: '1310000000',
        address: '浙江省杭州市拱墅区莫干山路 50 号',
      },
]
const openShow=()=>{
    showDizhi.value=true
}
const onClickLeft=()=>{
    showDizhi.value=false
}
const onClickLeft2=()=>{
    addressEditRef.value?.setAddressDetail('3434343');
    editDizhi.value=false
}
const onAdd = () =>{
    editDizhi.value=true
    addressInfo.value={
        name:'',
        tel:'17717874345',
        province:'',
        city:"",
        county:'',
        addressDetail:'',
        isDefault:false
    }
}
const onEdit = (item:any, index:number) =>{
    console.log(item)
    addressInfo.value={
        name:item.name,
        tel:item.tel,
        province:'',
        city:"",
        county:'',
        addressDetail:item.address,
        isDefault:item.isDefault
    }
    editDizhi.value=true
}
const onSave = (form:any) => {
    Toast('save');
    console.log(form)
   
}
const onDelete = () => Toast('delete');
defineExpose({
    openShow
} )
</script>