vue+mint ui+省市区三级联动(编辑地址)
来源:互联网 发布:鲁班bim软件 编辑:程序博客网 时间:2024/05/29 17:12
先去下载一个“省份、城市、区县” 三级联动数据
存为json引入页面
import s from '../../components/address.json';
html使用mint ui中的 mt-field以及mt-popup,点击所在地区,上选框出现。
<mt-field @click.native.capture="getAreaList" class="bor-b" label="所在地区" type="text" v-model="city" readonly disableClear>></mt-field><mt-popup v-model="popupVisible" position="bottom"> <mt-picker :slots="addressSlots" class="picker" @change="onAddressChange" :visible-item-count="5" ></mt-picker ></mt-popup>
组件使用方法
<script>import s from '../../components/address.json';import { Toast,Indicator,MessageBox } from 'mint-ui';export default { data(){ return{ address_id:'', city:'', address:'', name:'', mobile:'', city:"请选择区域", popupVisible:false, addressSlots: [ { flex: 1, defaultIndex: 1, values: Object.keys(s), className: 'slot1', textAlign: 'center' }, { divider: true, content: '-', className: 'slot2' }, { flex: 1, values: [], className: 'slot3', textAlign: 'center' }, { divider: true, content: '-', className: 'slot4' }, { flex: 1, values: [], className: 'slot5', textAlign: 'center' } ], addressProvince: '省', addressCity: '市', addressXian:'区', } }, methods:{ //获取地区列表 getAreaList : function(){ getAreaList().then(response =>{ let code = response["code"]; if(code == "200"){ var length = response['areaList'].length; this.area_vals = []; this.area_ids = []; for(var i=0;i<length;i++){ this.area_vals.push(response['areaList'][i].name); this.area_ids.push(response['areaList'][i].area_id); } //出现选框 this.popupVisible = true; }else{ Toast({message: response["message"],position: 'bottom',duration: 1000}); } }) }, onAddressChange(picker, values) { if(!values[0]) { return }//对应省市区 let sheng = Object.keys(s); let shi = Object.keys(s[values[0]]); let xian = s[values[0]][values[1]]; picker.setSlotValues(0, sheng); picker.setSlotValues(1, shi); picker.setSlotValues(2, xian); this.city = values[0] + ' ' + values[1] + ' ' + values[2]; }, //返回上一页 handleback(){ this.$router.back(); }, //保存编辑地址 saveEditAddress(){ Indicator.open(); var params = new URLSearchParams(); params.append('address_id', this.address_id); params.append('city', this.city); params.append('address', this.address); params.append('name', this.name); params.append('mobile', this.mobile); updateAddress(params).then(response =>{ Indicator.close(); let code = response["code"]; if(code == "200"){ this.$router.push('/manageadress'); }else{ Toast({message: response["message"],position: 'bottom',duration: 1000}); } }) }, //删除地址 deleteAddress(item){ Indicator.open(); var params = new URLSearchParams(); params.append('address_id', this.address_id); deleteAddress(params).then(response =>{ Indicator.close(); let code = response["code"]; if(code == "200"){ this.$router.push('/manageadress'); }else{ Toast({message: response["message"],position: 'bottom',duration: 1000}); } }) }, delAddress(item){ MessageBox.confirm('确定要删除此地址?') .then(action => { this.deleteAddress(item); }).catch(err => { }); } }, mounted(){ //获取编辑前的信息 this.address_id = this.$route.query.address_id; this.city = this.$route.query.city; this.address = this.$route.query.address; this.name = this.$route.query.name; this.mobile = this.$route.query.mobile; },}</script>
效果
参考资料
阅读全文
0 0
- vue+mint ui+省市区三级联动(编辑地址)
- 使用mint-ui实现省市区三级联动效果
- vue 实现省市区三级联动
- 省市区三级联动地址保存
- 三级联动(省市区)
- vue仿京东省市区三级联动选择组件
- JQ实现三级联动(省市区)地址选项
- 使用pickerview实现(省市区)地址选择器的三级联动
- 省市区三级联动(新)
- 省市区三级联动(模板)
- Android 地址选择器,实现省市区三级联动
- Android 地址选择器,实现省市区三级联动
- 中国省市区地址三级联动jQuery插件
- Vue如何使用vue-area-linkage实现地址三级联动效果 很多时候我们需要使用地址三级联动,即省市区三级联动。网上有很多插件,在此介绍Vue的一款地区联动插件:vue-ar
- vue省市区三级联动mysql,js/json,html/jsp
- 省市区三级联动菜单(附数据库)
- 省市区三级联动菜单(附数据库)
- 省市区三级联动菜单(附数据库)
- 使用Arrays.asList注意事项
- C语言数独游戏求解
- LSTM理解
- CODE[VS]1015 计算器的改良
- Android 音视频开发(四):使用 Camera API 采集视频数据
- vue+mint ui+省市区三级联动(编辑地址)
- Java数组实现栈
- ceph scrub errors
- Android的安全机制
- 代理模式
- 恶意代码分析实战 Lab 3-3 习题笔记
- Nuttx启动
- Jsp九大内置对象
- 动态设置状态栏颜色和app主色或者当前页面主色一致