更新记录
1.3(2021-04-14)
下载此版本
1.2(2019-10-31)
下载此版本
修复picker的一些报错问题, 新增公共属性titleColor(其实可以使用titleStyle), 并将picker类型的titleColor属性名修改为pickerTitleColor
1.1(2019-10-15)
下载此版本
新增radio、checkbox、switch、textarea、pics、infinitePics、picker-date、picker-city、picker-custom、picker-custom2等类型 优化代码 优化文档, 非常感谢QQ:885070890 帮助测试!
查看更多
平台兼容性
可直接拖进示例项目运行
作者想说
如果该插件有什么问题还请大家说出来哦,还有如果有什么建议的话也可以提下呐 ~
如果觉得好用,可以回来给个五星好评么\~\~ (❁´◡`❁)✲゚ 蟹蟹\~拜托啦\~
组件简介
QS-***的拆分版
相较于QS-***
优点: 可拓展性强、兼容性强(尽量兼容全端)
缺点: 不能根据后台自动生成对应的类型(动态性不如QS-***)
展望: 在QS-***-split的基础上再进行合并
更新说明
| 版本 |
说明 |
| v1.2 |
修复picker的一些报错问题, 新增公共属性(其实可以使用), 并将picker类型的属性名修改为picker |
| v1.1 |
新增radio、checkbox、switch、textarea、pics、infinitePics、picker-date、picker-city、picker-custom、picker-custom2等类型 优化代码 优化文档, 非常感谢*** 帮助测试! |
| v1.0 |
上传 |
注意
- 大部分传值与QS-***中的相似
- 建议全局引入后使用, 否则需要一个一个引入elements文件夹下的组件
- 不再兼容非自定义组件模式, 请在自定义组件模式中的vue文件中使用
拓展
该插件具备良好的可拓展性, 若想拓展该插件可以使用QS-***-split/template/default.vue进行拓展
比如 rate评分组件、 number-box数字计步器等,如果有拓展的比较好的可以加群发给我哦,我会署名加上!
大纲
1.两种模式
1.0.1 普通模式
普通模式下就像单独使用input组件一样,
v-model双向绑定一个值, 或者监听change事件使用
1.0.2 form模式
form模式下需要传入公共属性name和variableName,
引入目录中js文件夹下的app.js对象,
使用它的getForm方法,传入name值获取一个对象,
内含data与 verifyErr两个属性,
data为form数据,verifyErr为校验失败的项
引入elements文件夹下的组件使用
2.公共属性
| 属性 |
是否必填 |
值类型 |
默认值 |
说明 |
| v-model |
|
|
|
双向绑定数据, picker类型只能接受返回数据 |
| @change |
|
Function |
|
value值改变回调 |
| required |
|
Boolean |
false |
是否必填 |
| name |
form模式必填 |
String |
|
设置form名称 |
| variableName |
form模式必填 |
String |
|
自定义变量名值 |
| required |
|
Boolean |
false |
是否必填 |
| value |
|
Any |
|
单向传入的值 |
| titleFlex |
|
Number |
1 |
左边title的css flex值,控制title一块在整块中所占的比例 |
| contentFlex |
|
Number |
4 |
右边content的css flex值,控制content一块在整块中所占的比例 |
| *** |
|
Style |
|
控制title所在view的style属性 |
| contentStyle |
|
Style |
|
控制content所在view的style属性 |
| boxStyle |
|
Style |
|
控制最外层view的style属性 |
| title |
|
String |
|
标题文字 |
| titleHide |
|
Boolean |
false |
是否隐藏title块 |
| fontSize |
|
Number |
30 |
整体的字体大小,单位rpx |
| width |
|
String |
100% |
整体的宽度 |
| requiredSign |
|
String |
* |
必填标识 |
| layout |
|
String |
row |
整体的布局方式, 详见2.0.1 |
| titleLayout |
|
String |
default |
title块的布局方式, 详见2.0.2 |
| contentLayout |
|
String |
default |
content块的布局方式, 详见2.0.3 |
v1.1新增 |
|
|
|
|
| customId |
|
Any |
|
自定义标识 |
| itemDisabled |
|
Boolean |
|
禁用该项 |
| itemLayout |
|
String |
|
有子数组类型的内部布局方式, 传值同contentLayout, 比如radio、checkbox |
v1.2新增 |
|
|
|
|
| *** |
|
String |
#999 |
title的文字颜色 |
2.0.1 layout -> 2. 公共属性
| 可选属性 |
默认值 |
说明 |
| row |
是 |
横向布局 |
| column |
|
竖向布局 |
2.0.2 titleLayout -> 2. 公共属性
| 可选属性 |
默认值 |
说明 |
| default |
是 |
在layout属性为row时为right,在layout属性为column时为left |
| left |
|
title内容左对齐 |
| right |
|
title内容右对齐 |
| center |
|
title内容居中对齐 |
2.0.3 contentLayout -> 2. 公共属性
| 可选属性 |
默认值 |
说明 |
| default |
是 |
在layout属性为row时为right,在layout属性为column时为left |
| left |
|
content内容左对齐 |
| right |
|
content内容右对齐 |
| center |
|
content内容居中对齐 |
3. 类型大纲
3.0.1 QS-input
| 属性 |
是否必填 |
值类型 |
默认值 |
说明 |
| ***et |
|
Object |
|
input的其他一些设置,一般不常用,需要的请看源码 |
| tapClear |
|
Boolean |
true |
一键清除功能 |
| inputType |
|
String |
text |
input的类型 |
| focusBorderColor |
|
Color |
|
focus时的边框颜色 |
| blurBorderColor |
|
Color |
|
非focus时的边框颜色 |
| password |
|
Boolean |
false |
密码类型 |
| passwordIconColor |
|
String |
|
密码显示时的icon颜色 |
| leftIcon |
|
String |
|
左边icon名字 |
| leftIconColor |
|
String |
|
左边icon颜色 |
| customTapIcon |
|
String |
|
右边自定义图标名字, 不为空则启用自定义图标点击功能 |
| customTapIconColor |
|
String |
|
右边自定义图标颜色 |
| rightButtonTex |
|
String |
|
右边自定义按钮名字, 不为空则启用自定义按钮点击功能 |
| rightButtonStyle |
|
String |
|
右边自定义按钮样式 |
| ifCode |
|
Boolean |
|
是否启用验证码功能 |
| codeButtonStyle |
|
String |
|
验证码按钮样式 |
| phoneNum |
|
String |
|
获取验证码的手机号 |
| disabled |
|
Boolean |
|
是否禁用 |
| placeholder |
|
String |
|
input的placeholder属性 |
| filterFc |
|
Function |
|
过滤值函数 |
| filterType |
|
String |
|
app.js中设置的过滤类型,传属性名 |
| verifyFc |
|
Function |
|
检验函数 |
| verifyType |
|
String |
|
检验类型 |
| inputDebounceSet |
|
Object |
|
input防抖设置, 传openInputDebounce(是否开启, 默认开启),delay(延迟时间, 默认500)两个参数 |
| customId |
|
String|Object |
|
自定义标识 |
v1.1新增 |
|
|
|
|
| focus |
|
Boolean |
false |
input聚焦 |
| @getCode |
|
Function |
|
ifCode为true时,用户点击获取验证码按钮触发此回调,需开发者自行获取验证码 |
| checkPhoneNum |
|
Boolean |
|
用户点击获取验证码按钮时是否校验传入input的phoneNum属性为11位以1开头的数字 |
3.0.2 QS-radio
| 属性 |
是否必填 |
值类型 |
默认值 |
说明 |
| itemArray |
是 |
Array\<Object> |
|
需循环的radio数据, 详见3.0.2.0.1 |
| color |
|
Color |
|
radio的颜色 |
| scale |
|
String |
|
radio的transform: scale的值,可控制radio大小 |
| disabled |
|
Boolean |
|
是否禁用radio |
| 属性 |
是否必填 |
值类型 |
默认值 |
说明 |
| name |
是 |
String |
|
显示的值 |
| value |
是 |
String |
|
携带的值 |
3.0.3 QS-textarea
| 属性 |
是否必填 |
值类型 |
默认值 |
说明 |
| textareaSet |
|
Object |
|
textarea的其他一些设置,一般不常用,需要的请看源码 |
| focus |
|
Boolean |
false |
textarea聚焦 |
| focusBorderColor |
|
Color |
|
focus时的边框颜色 |
| blurBorderColor |
|
Color |
|
非focus时的边框颜色 |
| disabled |
|
Boolean |
|
是否禁用 |
| autoHeight |
|
Boolean |
|
是否自动增高 |
| placeholder |
|
String |
|
textarea的placeholder属性 |
| filterFc |
|
Function |
|
过滤值函数 |
| filterType |
|
String |
|
app.js中设置的过滤类型,传属性名 |
| verifyFc |
|
Function |
|
检验函数 |
| verifyType |
|
String |
|
检验类型 |
| inputDebounceSet |
|
Object |
|
input防抖设置, 传openInputDebounce(是否开启, 默认开启),delay(延迟时间, 默认500)两个参数 |
| textareaHeight |
|
Number |
12 |
textarea高度,计算方式: textareaHeight/100*设备高度 |
| textareaWidth |
|
Number |
80 |
textarea宽度,单位% |
| textareaBackgroundColor |
|
Color |
#f8f8f8 |
textarea背景颜色 |
3.0.4 QS-checkbox
| 属性 |
是否必填 |
值类型 |
默认值 |
说明 |
| itemArray |
|
Array\<Object> |
|
需循环的checkbox数据, 详见3.0.4.0.1 |
| color |
|
Color |
|
该checkbox所有的选中颜色 |
| scale |
|
String |
|
checkbox的transform: scale的值,可控制checkbox大小 |
| disabled |
|
Boolean |
|
禁用该项checkbox |
| 属性 |
是否必填 |
值类型 |
默认值 |
说明 |
| name |
是 |
String |
|
显示的值 |
| value |
是 |
String |
|
携带的值 |
| color |
|
Color |
|
改checkbox的选中颜色, 优先级大于父级 |
3.0.5 QS-switch
| 属性 |
是否必填 |
值类型 |
默认值 |
说明 |
| color |
|
Color |
|
switch的选中颜色 |
| scale |
|
String |
|
switch的transform: scale的值,可控制switch大小 |
| disabled |
|
Boolean |
|
禁用switch |
上传图片类型说明 (使用ref调用)
若使用上传图片组件需要在config文件中配置pics.js中的上传文件方法
在页面中可以使用下面的方法获取上传图片的promise数组
上传图片类型公共方法
| 返回值 方法名称 |
传参 |
说明 |
| void setData |
Array |
更新上传的图片数组 |
| void setUpLoadData |
Any |
设置上传图片的自定义携带数据, 可在config文件中的上传文件方法中获取 |
| Array\<Promise Object> getUpLoadPromiseArray |
|
返回一个上传图片的promise对象数组 |
3.0.6 QS-pics
| 属性 |
是否必填 |
值类型 |
默认值 |
说明 |
| value(公共属性) |
|
Array |
|
需上传的图片数组, 详见3.0.6.0.1 |
| clearColor |
|
Color |
#f5105c |
清除图标的颜色 |
| 属性 |
是否必填 |
值类型 |
默认值 |
说明 |
| title |
是 |
String |
|
选择图片的标题说明 |
| path |
|
String |
|
预设值 |
| clearColor |
|
Color |
#f5105c |
清除图片图标的颜色 |
| customTapId |
|
String |
|
若填写此属性则会触发回调事件-picsTap, 而不会选择图片 |
3.0.7 QS-infinitePics
| 属性 |
是否必填 |
值类型 |
默认值 |
说明 |
| value(公共属性) |
|
Array |
|
需上传的图片数组, 详见3.0.6.0.1 |
| sortSelection |
|
Boolean |
|
是否开启排序选择模式, 详见3.0.6.0.2 |
| defaultSelectAll |
|
Boolean |
true |
排序选择模式下,如果用户未做任何排序是否返回原始数组 |
| selectedColor |
|
Color |
#0099FF |
排序选择框选中时的背景颜色 |
| unSelectedColor |
|
Color |
rgba(0,0,0,.7) |
排序选择框未选中时的背景颜色 |
| selectBorderColor |
|
Color |
1px solid rgba(255,255,255,.7) |
排序选择框选中时的边框颜色 |
| selectBorderColor |
|
Color |
1px solid rgba(255,255,255,.7) |
排序选择框的边框颜色 |
| selectColor |
|
Color |
#fff |
排序选择框的文字颜色 |
| max |
|
Number |
|
最多选择图片数量 |
| clearColor |
|
Color |
#f5105c |
清除图标的颜色 |
| 属性 |
是否必填 |
值类型 |
默认值 |
说明 |
| title |
是 |
String |
|
选择图片的标题说明 |
| path |
|
String |
|
预设值 |
| clearColor |
|
Color |
#f5105c |
清除图片图标的颜色 |
排序选择模式开启后, 会在 已选择图片的右下角有一个选择框,用户点击时会对图片数组排序, 在上传时会按排序数组返回
picker类型说明
注: 因为兼容性问题,一怒之下写死了picker的行高和文字大小, 文字大小可在config/css/picker中配置, 行高则要到代码中改了
picker类型方法列表
| 返回值 方法名称 |
参数 |
说明 |
ref调用 |
|
|
| void show |
|
显示picker |
| void hide |
|
隐藏picker |
| void setData |
设置的数据 |
设置内部选择列表数据,仅支持picker-custom与picker-custom2 |
绑定事件 |
|
|
| Object @pickerChange |
|
picker的value改变时触发此事件 |
picker类型属性
| 属性 |
是否必填 |
值类型 |
默认值 |
说明 |
| pickerTitle |
|
String |
|
picker的title |
***picker*** |
|
Color |
#999 |
picker的title文字颜色 |
| placherhold |
|
String |
|
picker未选择时的默认占位文字 |
| height |
|
Number |
|
picker-view的高度 |
| fontScale |
|
Number |
.034 |
QS-picker组件内的文字大小, 不包含picker-view-column中的文字, 计算方式: 屏幕宽度乘以fontScale |
| mode |
|
String |
bottom |
picker的展示模式, 详见mode属性说明 |
| dataSet |
|
Object |
|
各类型的设置, 详见mode属性说明 |
| buttonSet |
|
Object |
|
按钮设置, 详见buttonSet属性说明 |
| showReset |
|
Boolean |
false |
每次显示是否重置为初始值 |
| zIndex |
|
Number |
|
z-index属性, 应该没用, 应该要由父级控制 |
| bgColor_title |
|
Color |
#F8F8F8 |
title的背景颜色 |
| autoHide |
|
Boolean |
true |
在用户选择后是否自动隐藏 |
picker-custom与pciker-custom2额外支持以下属性 |
|
|
|
|
| linkage |
|
Boolean |
|
是否联动 |
| linkageNum |
|
Number |
2 |
联动级数 |
| steps |
|
Object |
|
属性预设 |
| async |
|
Boolean |
|
开启逐级获取功能, 需在config/picker中配置相关函数, 其实使用ref设置数据并用pickerChange监听只改变的话就不用这个属性了 |
| customId(公共属性) |
|
Any |
|
自定义标识 |
picker类型的mode属性说明
| 值 |
说明 |
| middel |
从中间渐出 |
| top |
从顶部弹出 |
| bottom |
从底部弹出(默认) |
picker类型的dataSet属性说明
| 属性名 |
是否必填 |
值类型 |
默认值 |
说明 |
date类型 |
|
|
|
|
| startYear |
|
Number |
new Date().getFullYear() - 5 |
开始年数 |
| endYear |
|
Number |
new Date().getFullYear() + 5 |
结束年数 |
| defaultValue |
|
String |
此刻 |
格式为2019/05/27 10:54:00、2019/05/27的初始日期 |
| dateMode |
|
Number |
3 |
取值为1-6的值,依次从左向右为年、月、日、时、分、秒的列数 |
| dateFormatArray |
|
Array |
['-', '-', ' ', ':', ':'] |
确认选择后返回的格式,依次是年、月、日、时、分、秒之间的分隔符 |
其他类型 |
|
|
|
|
| defaultValue |
|
Array |
|
对应列数的默认值 |
picker类型的buttonSet属性说明
| 值 |
值类型 |
默认值 |
说明 |
| cancelType |
String |
default |
取消按钮的类型 |
| confirmType |
String |
primary |
确定按钮的类型 |
| cancelStyle |
cssStyle |
|
取消按钮的样式, 只支持middle模式 |
| confirmStyle |
cssStyle |
|
确定按钮的样式, 只支持middle模式 |
| cancelName |
String |
取消 |
取消按钮名称 |
| confirmName |
String |
确定 |
确定按钮名称 |
| cancleColor |
Color |
#ADADAD |
取消按钮的颜色,不支持middle模式 |
| confirmColor |
Color |
#3399FF |
确定按钮的颜色,不支持middle模式 |
3.0.8 QS-picker-date
详见 picker类型说明
3.0.9 QS-picker-city
详见 picker类型说明
3.1.0 QS-picker-custom
详见 picker类型说明
3.1.1 QS-picker-custom2
详见 picker类型说明