mobileSelect.js使用

作者:高天阳

邮箱:13683265113@163.com

更改历史

* 2018-10-29        高天阳     初始化文档

1 简介与特点

1.1 简介

最新版本下载地址(2017-09-21更新)

写给不熟悉github的同学:点击页面右侧的绿色按钮【Clone or download】即可下载 版本持续更新中,遇到有什么bug或建议可以在Issues中提出来,我会在工作之余尽力解答。

遇到bug先不要着急,请先确认是否在github中下载的最新版本,有一些别的网站也收录了这个插件, 但是版本滞后,一些新特性还没有更新,以及存留着一些老bug。

1.2 特点

  • 原生js移动端选择控件,不依赖任何库

  • 可传入普通数组或者json数组

  • 可根据传入的参数长度,自动渲染出对应的列数,支持单项到多项选择

  • 自动识别是否级联

  • 选择成功后,提供自定义回调函数callback() 返回当前选择索引位置、以及选择的数据(数组/json)

  • 每次手势滑动结束后,也提供一个回调函数transitionEnd() 返回当前选择索引位置、以及选择的数据(数组/json)

  • 能够在已经实例化控件后,提供update函数,传其他参数再次渲染

  • 提供重定位函数

1.3 演示

手机扫描二维码预览:

动态图预览:

2 安装

方式一 标签引入:

方式二 npm:

在你的js文件中import:

3 使用

3.1 普通数组格式-非联动

3.2 json格式-非联动

3.3 json格式-联动

效果图

3.4 在vue-cli中如何使用

3.5 数据字段名映射

3.6 参数

选项

默认值

类型

描述

trigger

必填参数 无默认值

String

触发对象的id/class/tag

wheels

必填参数 无默认值

Array

数据源,需要显示的数据

title

''

String

控件标题

position

[0,0,0,…]

Array

初始化定位

connector

' '

String

多个轮子时,多个值中间的连接符,默认是空格

callback

function(indexArr, data){}

function

选择成功后触发的回调函数,返回indexArr、data

transitionEnd

function(indexArr, data){}

function

每一次手势滑动结束后触发的回调函数,返回indexArr、data

ensureBtnText

'确认'

String

确认按钮的文本内容

cancelBtnText

'取消'

String

取消按钮的文本内容

ensureBtnColor

'#1e83d3'

String

确认按钮的文本颜色

cancelBtnColor

'#666666'

String

取消按钮的文本颜色

titleColor

'#000000'

String

控件标题的文本颜色

titleBgColor

'#ffffff'

String

控件标题的背景颜色

textColor

'#000000'

String

轮子内文本的颜色

bgColor

'#ffffff'

String

轮子背景颜色

keyMap

{id:'id', value:'value', childs:'childs'}

Object

字段名映射,适用于字段名不匹配id,value,childs的数据格式

triggerDisplayData

true

Boolean

在点击确认时,trigger的innerHtml是否变为选择的数据。(如果trigger里面还有其他元素,则可以设置为false;如果需要在别的地方显示数据,则可用callback返回的数据自行拼接)

注:回调函数中返回的参数含义如下

  • indexArr是当前选中的索引数组 如[0,0,1]代表有三个轮子 选中的数据是第一个轮子的第0个数据、第二个轮子的第0个数据、第三个轮子的第1个数据

  • data是当前选中的json数据 如[{id:’1’,value:’hello’},{id:’2’,value:’world’}]

3.7 功能函数:

| 函数名 | 参数 | 描述 | | setTitle() | string | 设置控件的标题 | | locatePosition() | sliderIndex, posIndex | 传入位置数组,重新定位轮子选中的位置 | | updateWheel() | sliderIndex, data | 重新渲染指定的轮子 | | updateWheels() | data | 重新渲染所有轮子(仅限级联数据格式使用) | | show() | 无参 | 唤起弹窗组件 | | getValue() | 无参 | 获取组件选择的值 |

注:功能函数中需要传递的参数含义如下

  • sliderIndex 代表的是要修改的轮子的索引

  • posIndex 代表位置索引

4 示例

4.1 功能函数demo:

4.2 ajax异步填充数据demo:

4.3 项目demo:

使用transitionEnd()、callback()、updateWheel()、locatePostion()函数实现如下功能:

  • 选择当天日期时,不得超过今天已过时辰。

  • 选择取车时间后,还车时间不得超过取车时间(包括日期和时间)。

参考资料

Last updated

Was this helpful?