之前在 先展示一下做好的效果: 项目地址如何使用
//regionSelector.vue
import mapInfo from "../../mapInfo/mapInfo";
复制代码
<template>
<div>
<button @click="showSelector">选择省市区</button>
<region-selector :isShow="selectorShow" @hideSelector="hideSelector"></region-selector>
</div>
</template>
<script> import regionSelector from '@/components/regionSelector'; export default { components: { regionSelector }, data() { return { selectorShow: false } }, methods: { showSelector() { //点击button时,控制选择器弹出 this.selectorShow = true; }, hideSelector(info) { //触发hideSelector事件时,控制选择器移出 console.log(info); this.selectorShow = false; } } } </script>
复制代码
[
{ id: '410000', name: '河南省', index: 15 },
{ id: '410200', name: '开封市', index: 1 },
{ id: '410205', name: '禹王台区', index: 3 }
]
//index是指当前选中项是它所在列的第几项,比如河南省index为15,即它在省一列的第16项
复制代码
当然如果你点击的是其他地方, 附加功能:默认选中在使用省市区选择器时,为了让用户的使用体验更好,常常需要在用户打开选择器时,就默认为用户选中现有地址的省、市、区。比如开头的动图中,默认选中 山东省 / 济南市 / 历下区。 组件实现了打开时默认选中省市区的功能,使用也很简单。只需要将想要默认选中的省、市、区的名字传入 示例代码: <region-selector :isShow="selectorShow" province="山东省" city="济南市" district="历下区" @hideSelector="hideSelector"></region-selector>
<!--直接传入字符串或绑定到数据属性都可以-->
复制代码
部分实现原理
beforeCreate() {
if (!wx.getStorageSync('mapInfo')) {
wx.setStorageSync("mapInfo", mapInfo);
}
}
复制代码
watch: {
isShow(val) {
if (val) {
this.showSelector();
} else {
this.hideSelector();
}
}
}
复制代码
如果感到这篇博客对你有帮助,麻烦点个赞~ |
温馨提示:这篇文章没有解决您的问题?欢迎添加微信:18948083295,有微信小程序专业人员,保证有问必答。转载本站文章请注明转自http://www.okeydown.com/(微信小程序网)。
- 微信扫描二维码关注官方微信
- ▲长按图片识别二维码