1 Star 2 Fork 42

LUZH / iPicker

forked from FeCoder / iPicker 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

iPicker

无任何依赖的轻量级三级联动地区选择组件

iPicker 是一个轻量级的地区选择组件,可以简单快速的对 “省市区” 进行选择
专门针对桌面端的现代高级浏览器,无任何第三方依赖完全使用原生 JavaScript 开发

注:因当前所用的 json 地区数据来自于网络搜索,因此无法完全保证其准确性和完整性,请开发者注意。

查看在线示例

安装组件

本地引入

<script src="ipicker.min.js"></script>

cdn 引入

<script src="https://unpkg.com/new-ipicker"></script>
<script src="https://cdn.jsdelivr.net/npm/new-ipicker"></script>

npm 安装

npm i new-ipicker -S
const iPicker = require( "new-ipicker" );

使用方法

创建容器后,先获取 json 数据,然后调用 iPicker 方法即可:

<div id="target"></div>

<script>
    
    // 此处以通过 jquery 库获取数据为例
    $.getJSON( "area.json" ).then(function ( response ) {
        iPicker("#target", {
            data: response
        });
    })
    
</script>

也可以传入一个 Promise 对象或 jquery 的 Deferred 对象,iPicker 会自动调用 then 方法获取数据:

<div id="target"></div>

<script>
    
    // 此处以通过 jquery 库获取数据为例
    iPicker("#target", {
        data: $.getJSON( "area.json" )
    });
    
</script>

可以选择 cascader 主题

$.getJSON( "area.json" ).then(function ( response ) {
    iPicker("#target", {
        data: response,
        theme: "cascader"
    });
})

设置默认选中值

$.getJSON( "area.json" ).then(function ( response ) {
    iPicker("#target", {
        data: response,
        selected: [ "230000", "230100", "230103" ]

        // 也可以是 name 形式
        // selected: [ "黑龙江省", "哈尔滨市", "南岗区" ]
    });
})

监听选中项的变化

$.getJSON( "area.json" ).then(function ( response ) {
    iPicker("#target", {
        data: response,
        onSelect: function ( code, name, all ) {
            
            // 有三种返回值(均为数组形式)
            console.log( code );
            console.log( name );
            console.log( all );
        }
    });
})

组件方法

iPicker 提供了六个方法:

输入图片说明

var picker = iPicker( "#target", { ... } );

// 获取选中结果(前两种等效)
iPicker.get( picker );
iPicker.get( picker, "code" );
iPicker.get( picker, "name" );
iPicker.get( picker, "all" );

// 清空选中结果
iPicker.clear( picker );

// 重置(恢复初始状态)
iPicker.reset( picker );

// 启用(全部)
iPicker.enabled( picker );

// 启用(指定层级,范围:0-2,仅限 select 主题模式下)
iPicker.enabled( picker, [ 0, 1 ] );

// 禁用(全部)
iPicker.disabled( picker );

// 禁用(指定层级,范围:0-2,仅限 select 主题模式下)
iPicker.disabled( picker, [ 0, 1 ] );

// 销毁(移除 iPicker 组件)
iPicker.destroy( picker );

配置参数

参数 说明 类型 默认值
theme 主题模式,可选值:select, cascader String select
data 地区的 json 数据(必填项),可直接传入数据或传入 Promise Object {}
level 数据的展示层级,范围:0-2(代表 1-3 级,省-市-区) Number 2
width 展示框的宽度,单位:px,cascader 模式下建议适当的增加 Number 200
maxHeight 数据列表的最大高度,单位:px Number 300
activeColor 设置选中项的高亮颜色 String #00b8ff
disabled 默认禁用的展示框,设置为 true 时将禁用所有展示框;
在 select 模式下可传入数组形式,设置禁用指定层级的展示框,范围:0-2(代表 1-3 级,省-市-区)
Boolean / Array false
selected 默认选中项,可以是 name 或 code 形式 Array []
placeholder 展示框的占位文字,select 模式下是数组形式,cascader 模式下是字符串形式 String / Array [ "省", "市", "区" ]
onSelect 选择项改变时执行的回调函数,有 3 个回调参数:
1. code 数组
2. name 数组
3. code 与 name 的数组集合
Function 空函数

开源协议

MIT License


浏览器支持

Chrome Firefox Opera Edge Safari IE
60+ 60+ 60+ 17+ 12+ 11+
MIT License Copyright (c) 2020 ZG Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

无任何依赖的轻量级三级联动地区选择组件 展开 收起
JavaScript
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/BINGDOUA/iPicker.git
git@gitee.com:BINGDOUA/iPicker.git
BINGDOUA
iPicker
iPicker
master

搜索帮助