(转)个微信小程序的省市区选择器


  最终效果

思维导图

  思维导图

主要代码

组件 region-picker.js

/* region-picker.wxml */
class="free-dialog {{dialog ? 'free-dialog--show' : ''}}">
    class="free-dialog__mask" bindtap="emitHideRegion">>
    class="free-dialog__container">
        class="free-dialog__container__header">
            >选择所在地区>
            src="自行替换36rpx*36rpx的x图标"
                class="close"
                bindtap="emitHideRegion">
            >
        >
        class="free-dialog__container__content">
            class="free-content {{isIphoneX ? 'ipx' : ''}}">
                class="free-content__tabs">
                    class="free-content__tabs__tab {{region.select === index ? 'select' : ''}}"
                        wx:for="{{region.tabs}}"
                        wx:key="{{index}}"
                        wx:if="{{index <= region.select}}"
                        data-level="{{index}}"
                        bindtap="changeRegionLevel">
                        {{item.name}}
                    >
                >
                scroll-y class="free-content__scroll">
                    class="free-content__scroll__item"
                        wx:for="{{area}}"
                        wx:key="id"
                        data-id="{{item.id}}"
                        data-name="{{item.name}}"
                        bindtap="bindRegionChange">
                        {{item.name}}
                    >
                >
            >
        >
    >
>

组件 region-picker.wxss

/* 页面的 WXML */
bindtap="chooseRegion">请选择>
>
    wx:if="{{regionValue[0].id}}">{{regionValue[0].name}}>
    wx:if="{{regionValue[1].id}}">{{regionValue[1].name}}>
    wx:if="{{regionValue[2].id}}">{{regionValue[2].name}}>
>
...
region-value="{{regionValue}}"
    show-region="{{showRegion}}"
    bind:myevent="emitHideRegion">
>

页面的 js

/* area.js */
module.exports = [{
    id: '...',
    name: '...',
    _child: [{
        id: '...',
        name: '...',
        _child: [{
            id: '...',
            name: '...'
        }, ...]
    }, ...]
}, ...]

有疑问戳微信小程序官方文档

 


链接:https://www.jianshu.com/p/58ebcbaf2906