项目前端用的是Vue框架,在接做微信端功能开发的时候,有一个地区联动选择器。效果如下:
前端代码:
<van-popup v-model="showArea" position="bottom" :lazy-render='false'>
<area-picker @confirm="confirmRegion" @close="showArea = false" ref="areaPicker"/>
</van-popup>
此处用到子组件AreaPicker
回显的思路是将市/县/镇所对应的索引index,保存起来,调用子组件的van-picker的setIndexes方法。具体思路如下:
先获得市/县/镇所对应的index,保存在一个数组中。如下图;调用子组件areaPicker的方法setDefaultValue。
这里我用的是van-popup把area-picker标签包起来,默认是懒加载,此时的this.$refs.areaPicker是undefined的,必须在van-popup的标签,把懒加载关闭,如下图:
setDefaultValue的方法就简单了,直接将传过来的值用setIndexes方法赋值就可以了。
效果如下:
就会默认选中从库中传来的值了