# iPicker
**Repository Path**: skykain/iPicker
## Basic Information
- **Project Name**: iPicker
- **Description**: 轻量级的地区选择组件
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 41
- **Created**: 2020-02-06
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
iPicker
iPicker 是一个轻量级的地区选择组件,可以简单快速的对 “省市区” 进行选择
专门针对桌面端的现代高级浏览器,提供了两种版本供开发者根据项目需求自由选择
jQuery 插件版 |
Vue 组件版
数据来源 area-data
jQuery 插件版
#### 引入文件
```html
```
#### 创建容器
```html
````
#### 调用插件
```js
$( "#container" ).iPicker({
data: "area.json",
onSelect: function ( value, text, set ) {
console.log( value );
console.log( text );
console.log( set );
}
});
````
#### jQuery 插件版提供的方法
```javascript
$( elem ).iPicker( {} ); // 设置组件
$( elem ).iPicker( "clear" ); // 清空选择的结果
$( elem ).iPicker( "reset" ); // 重置组件
$( elem ).iPicker( "destroy" ); // 销毁组件
$( elem ).iPicker( "enabled" ); // 启用设置了 disabled 的选择框
$( elem ).iPicker(); // 获取选中结果
```
Vue 组件版
### 安装
```javascript
npm install vue-ipicker -S
```
### 使用
```javascript
// main.js
import iPicker from "vue-ipicker";
Vue.use( iPicker );
```
```html
````
API 参数
| 参数 | 说明 | 类型 | 默认值 |
| -------------- | ------------------------------------------------------------ | -------- | ------------------ |
| data | 地区的 json 数据,可传入三种形式的数据:
1. 直接传入 json 数据
2. 传入 Promise ( 仅限 jQuery 插件版!自动执行 then 方法来得到数据 )
3. json 文件地址( 仅限 jQuery 插件版!当传入 json 文件的地址时,程序会自动调用 $.getJSON() 请求数据 ) | Object / String | {} |
| level | 显示的层级,范围 1-3,对应:省-市-区 | Number | 3 |
| defautValue | 默认选中值 | Array | [] |
| disabled | 禁用指定的选择框,true 表示全部禁用,传入数组可禁用指定层级,如:[ 1,2 ] 表示禁用第 2,3 级选择框 | Boolean / Array | false |
| width | 选择框宽度,单位:px | Number | 200 |
| maxHeight | 下拉列表的最大高度,单位:px | Number | 300 |
| placeholder | 选择框占位文字 | Array | ["省", "市", "区"] |
| onSelect | 选中列表中某一项后执行的回调函数,回调参数有三个:
1. 所有选中项的 value
2. 所有选中项的 text
3. 所有选中项的 value 和 text 集合
以上参数均返回数组形式 | Function | 空函数 |
开源协议
MIT License
浏览器支持
| Chrome | Firefox | Opera | Edge | Safari | IE |
| --- | --- | --- | --- | --- | --- |
| 60+ | 60+ | 60+ | 17+ | 12+ | 11+ |