vant-Area省市区联动爬过的坑

1.vant-Area爬过的坑

<template>
    <div class="app">
      <!--confirm   点击右上方完成按钮   一个数组参数,具体格式看下方数据格式章节
      cancel    点击取消按钮时 
      change    选项改变时触发 参考Picker 实例,所有列选中值,当前列对应的索引-->
        <van-cell-group>
            <!--cell+popup+area省市区的坑-->
            <van-cell v-model="carmodel" title="省/市/区" value="" @click="show = true"></van-cell>
            <van-popup v-model="show" position="bottom">
              <van-area
                ref="area"
                value="110000"
                :area-list="areaList"
                @change="onChange"
                @confirm="show = false"
                @cancel="show = false"
              />
            </van-popup>
        </van-cell-group>
    </div>
</template>
<script>
    <!--vant按需引入-->
    import { Cell, CellGroup, Popup, Field,  Area, Picker } from 'vant'
    export default {
        components: {
            VanCell: Cell,
            VanCellGroup: CellGroup,
            VanPopup: Popup,
            VanField: Field,
            VanArea: Area,
            VanPicker: Picker
        },
        data () {
            return {
                show: false,
                carmodel: '',
                <!--假数据-->
                areaList: {
                    province_list: {
                      110000: '北京市',
                      120000: '天津市'
                    },
                    city_list: {
                      110100: '北京市',
                      110200: '县',
                      120100: '天津市',
                      120200: '县'
                    },
                    county_list: {
                      110101: '东城区',
                      110102: '西城区',
                      110105: '朝阳区',
                      110106: '丰台区',
                      120101: '和平区',
                      120102: '河东区',
                      120103: '河西区',
                      120104: '南开区',
                      120105: '河北区'
                    }
                }
            },
            methods: {
                onChange (picker, value, index) {
                <!--打印看下对应值-->
                  console.log('当前值:' + value + '当前索引:' + index)
                  <!--因为解析过来的数据是数组而carmodel定义字符串-->
                  let areaName = ''
                  for (var i = 0; i < value.length; i++) {
                    areaName = areaName + value[i].name + ' '
                  }
                  this.carmodel = areaName
                }
            }
        }
    }
</script>

效果图


image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在相遇的城市 倾注十万升眼泪 回忆都湿了 离别的月光 晒不干一腔衷肠 我不是你的新娘 你又是谁的情郎 (阿白,一个...
    诗歌的骨头阅读 1,105评论 0 7
  • 为何很多人这辈子都很难发财,一辈子觉得钱难赚,米难吃,因为他们思维是错误的,拥有一些龌龊的思想。比如我们总是说先让...
    获客屋阅读 1,553评论 0 0
  • 结果花了20分钟清理了一大箱垃圾,也不是很累。可是就在又准备收工的时候,老师告诉我们还有最后一个。好吧,帮人...
    麦当的朋友阅读 1,475评论 0 0