基于微信小程序的小型UI库(BSTCommon插件)

插件使用

腾讯小程序插件文档地址 https://mp.weixin.qq.com/wxopen/plugindevdoc?appid=wx3f99db061dbc1dd3&token=&lang=zh_CN

小程序插件使用

app.json配置

"plugins": { "BSTCommon": { "version": "1.0.9", "provider": "wx3f99db061dbc1dd3" } },

需要使用插件的页面

<!--json内--> "usingComponents": { "calendar": "plugin://BSTCommon/calendar" } <!--wxml内--> <calendar type='range' monthShowNum='{{3}}' markerData="{{markerData}}" monthShowDate="2019-08-01" bindchange='ondatechange' bindcheckStart='oncheckStart' /> <!--js内--> let { InitDateObj, //初始化时间类 patternGetValue, //取值模式 drillJSON, //下钻json数据 myFor, //循环 duplicateRemoval, //数组去重 hasKey, //判断对象是否含有某些值 formatCss, //格式化css字符串 cssObjToString, //将一个css样式对象转化为字符串 mergeCssStr, //合并css字符串、对象 Displacementer, //坐标换算类 initAryforJSON //初始化json数组 } = requirePlugin('BSTCommon'); //js内可以引入插件提供的一些类或者方法,不使用也可以不引入或按需引入 git代码下载使用

如果需要使用最新版的功能可将github上代码中plugin复制到本地项目中直接以自定义组件的形式引用

演示demo(小程序:ChiselUI)

Component组件类

引入组件时有可能开发工具会报(.wxss文件内)错;这个是样式警告,经咨询微信官方人员可以忽略。

flexBox:双栏弹性盒子
props type isMast defult range explain
start String false "" -- 第一个容器的长度
end String false "" -- 第二个容器的长度
vertical Boolean false false false/true 是否垂直排列
noAutoZIndex String false 0 -- 当前固定容器的z-index

说明:start/end只传一个,传入的为固定容器,另外的容器自适应剩余空间。

示例代码

<flexBox start='20%'> <view slot='start'>这个是固定容器</view> <view slot='end'>这个是自适应容器</view> </flexBox> coder:条形码(一维码)/二维码生成组件

props type isMast defult range explain
value String false "" -- 需要生成条形码的字符串
type String false "2d" 1d/2d 生成码的类型
encodingMethod String false "code128" std25、int25、ean8、ean13、upc、msi、code11、code39、code93、code128、codabar、datamatrix 编码方式(当type为1d时生效)
color String false #000000 #****** 前景色
bgColor String false #ffffff #****** 背景颜色
showText Boolean false true true/false 是否显示文字
barCellWidth Number false 2 int 单元格宽度(px)当type为1d时生效
barHeight Number false 100 int 高度(px)当type为1d时生效
componentStyle cssString false —— —— 组件容器的样式
loadTips String false "您的码正在赶来..." -- 加载(绘制二维码)等待时提示语
textStyle cssString false -- -- 显示文本的样式(value)
padding Number false 20 -- 整个码容器的内边距

说明:条形码/二维码的宽度跟随容器的宽度自适应计算,容器的宽度可通过componentStyle来设置。

evnets event.detail explain
change {code:value} 条形码/二维码生成(更新)完成后触发

示例代码

<--条形码--> <coder value='123456789' type='1d' encodingMethod='code93' barHeight='{{70}}' componentStyle='width:50%' bindchange='oncoderchange' /> <--二维码--> <coder value='https://www.tz12306.com' componentStyle='width:100%' /> modal:基础模态框

props type isMast defult range explain
type String true -- dialog、drawer-bottom、drawer-right、drawer-top、drawer-left 模态框的类型(居中、下、右、上、左)
show Boolean true false true/false 动态控制模态框的显示与隐藏
title Boolean false false false/true 是否含有title
bodyStyle cssString false -- -- bodyCSS样式
maskStyle cssString false -- -- maskCSS样式
contentStyle cssString false -- -- contentCSS样式
time Number false 300 int 动画时长(毫秒)
noMaskEvnet Boolean false false true/false 是否禁止mask点击事件
slot explain
default 主体
title 头部
footer 尾部
evnets event.detail explain
hide -- 模态框隐藏时触发事件

说明:此组件为底层组件支持5种类型,使用时需传入类型值、常用为dialog。

示例代码

<modal type='dialog' show='{{modalshow}}' bindhide='onhide' noMaskEvnet='{{true}}' bodyStyle='' title='{{true}}' > <view slot='title'>这是头部</view> <view>这是主体内容</view> <view slot='footer'>这是尾部</view> </modal> dialog:模态弹窗(基于modal)

props type isMast defult range explain
show Boolean true false -- 动态设置弹窗显示与隐藏
save String true "确定" -- 保存按钮文字内容
openType String false -- share、launchApp、openSetting、feedback 保存按钮的微信开放能力
bodyStyle cssString false -- -- bodyCSS样式
cancelStyle cssString false -- -- 取消按钮CSS样式
saveStyle cssString false -- -- 保存按钮CSS样式
cancel String false "取消" -- 取消按钮文字样式
noMaskEvnet Boolean false false true/false 是否禁止mask点击事件
slot explain
default 主体
evnets event.detail explain
hide -- 模态框隐藏时触发事件
saveCallback e.detail 保存按钮点击时触发
cancelCallback -- 取消按钮点击时触发
examplePipe {example:实例对象} 组件渲染完成后触发的实例传输管道,返回当前实例对象(初始化可保存此实例对象,然后调用实例对象的show/hide来进行弹窗的显示与隐藏)

说明:save与cancel同时存在时占位各为50%,如果只有save则为100%;如果获取到实例对象、可手动调用实例对象的show方法进行显示弹窗;show方法可接受一个参数OBJECT,其中key可以为props中所有的参数,执行时会覆盖组件初始传入的值(可实现一个组件,多处调用);其中content字段为特殊字段,可接受HTML字符串渲染

示例代码

<!--模板调用--> <dialog show='{{dialogshow}}' save='确定' noMaskEvnet='{{true}}' bindsaveCallback='onsaveclick' > <view>这是主体内容</view> </dialog> <!--实例调用--> //wxml内 <dialog bindexamplePipe='onexamplePipe'/> //js内 onexamplePipe:function(e){ let this.dialog=e.currentTarget.detail.example; //此实例还可以其他地方调用,如果传入与props相同的字段则覆盖props内的相应值 this.dialog.show({ content:'<div style="color:#999">我是HTML字符串内容哦</div>', saveCallback:function(e){ console.log("我是点击的回调",e) } }) } calendar:基础日历渲染器

props type isMast defult range explain
type String false point/range "point" 日历类型(点选/范围选择)
title Array false [] ["日", "一", "二", "三", "四", "五", "六"] 日历星期栏内容设置,数组长度为7
value Array false [] ["YYYY-MM-DD"] 初始化选择的日期,type为range时数组可有两个值
monthShowDate String false 当前月份 "YYYY-MM-DD" 显示第一个月月份时间,如果不设置则为当月01号,日历渲染则根据月份动态渲染,如果设置,可固定显示一个时间段
monthShowNum Number false 1 int 当前渲染的月份数,如果没有必要,请不要设置过大影响渲染性能
markerData Object false {} {"YYYY-MM-DD":{top,bottom,topStyle,bottomStyle,style}} 特殊日期数据对象,例如{"2019-08-08":{bottom:"立秋",bottomStyle:"color:red"}}
boxStyle cssString false -- -- 容器外部盒子样式
titleStyle cssString false -- -- 星期栏样式
todayStyle cssString false -- -- "今天"日期样式
checkedStyle cssString false -- -- 选中日期样式
checkedFGStyle cssString false -- -- 选中日期前景样式
rangeStyle cssString false -- -- 选中范围日期样式(type=range有效)
monthTitleStyle cssString false -- -- 每个月的月份title样式
evnets event.detail explain
examplePipe {{setMethod:function(methName,fun){}}} 日历渲染完成后的实例传输管道,返回calendar实例的setMethod(注入方法)方法,此方法接受一个需要注入方法的名称methName(目前只支持"blackout")和一个回调函数(function,回调参数为一个object,内含当前日期的相关数据),此个回调函数必须输出一个(Boolean)布尔值来决定当前天是否禁止点击
change ["YYYY-MM-DD","YYYY-MM-DD"] 选中的值改变时触发,返回数组,type=range时为两个值
checkStart ["YYYY-MM-DD"] 范围选择开始事件,只有当type=range时才触发,返回的数组只有一个值(此事件可配合change事件来判断当前用户操作是否选择范围时间完成)

说明:calendar组件为dateSelector的基础渲染组件,大部分参数相同,onexamplePipe使用也相同

示例代码

<!--wxml内--> <calendar type='range' monthShowNum='{{3}}' markerData="{{markerData}}" monthShowDate="2019-08-01" bindchange='ondatechange' bindcheckStart='oncheckStart' /> <!--js内--> data: { markerData:{ "2019-08-08": { bottom:"立秋"}, "2019-08-15": { bottom:"中元节"}, "2019-08-23": { bottom:"处暑"}, "2019-09-08": { bottom:"白露"}, "2019-09-10": { bottom:"教师节"}, "2019-09-13": { top:"休", bottom:"中秋"}, "2019-09-14": { top:"休"}, "2019-09-15": { top:"休"}, "2019-09-23": { bottom:"秋分"}, "2019-09-29": { top:"班"} }, }, ondatechange:function(e){ console.log(e) }, oncheckStart:function(e){ console.log(e) }, dateSelector:日历选择器(基于calendar、modal)

props type isMast defult range explain
show Boolean true false true/false 动态控制日历选择器的显示与隐藏
value Array false [] ["YYYY-MM-DD"] 日历选择的日期
title String false -- -- 头部标题内容,当设置值为'auto'时,即为动态展示当前选择的日期
type String false "point" point/range 日历类型point为点选;range为范围选择
monthShowDate String false -- YYYY-MM-DD 第一个显示月的时间
monthShowNum Number false 1 int 初始化渲染多少个月
bodyStyle cssString false -- -- 类似modal的bodyStyle
titleStyle cssString false -- -- 头部title的样式内容
dateTitleStyle cssString false -- -- 日历头部的样式(就是星期那一行)
float String false "bottom" top、right、bottom、left 浮动方式
markerData Object false {} {"YYYY-MM-DD":{top:"这是显示在日期day数字上方的文字",bottom:"这是显示在下方的内容",topStyle:"",bottomStyle:"",style:""}} 特殊日期显示内容(例如:春节、中秋),可相应位置设置样式
checkedStyle cssString false -- -- 选中的样式
checkedFGStyle cssString false -- -- 选中的前景样式;此样式因为calender组件内部结构特殊,需过滤掉影响宽高的css属性,过滤规则包含[/^width/, /^height/, /^padding\S*/, /^margin\S*/]凡是匹配此类属性,都将设置无效;
rangeStyle cssString false -- -- 范围样式
monthTitleStyle cssString false -- -- 月份标题样式
leftButtonStyle cssString false -- -- 左边(more/取消)按钮样式
sureStyle cssString false -- -- 确定按钮样式
todayStyle cssString false -- -- 今天的样式
hasMore Boolean false false true/false 是否开启更多按钮,当设置为true时,左边按钮内容由“取消”变为“more”并且有四个默认的功能(后续会拓展自定义功能按钮)
evnets event.detail explain
change [YYYY-MM-DD] 选择日期完成后触发,返回参数为选择的日历数组
examplePipe {setMethod:function(methName,fun){}} 日历渲染完成后的实例传输管道,返回calendar实例的setMethod(注入方法)方法,此方法接受一个需要注入方法的名称methName(目前只支持"blackout")和一个回调函数(function,回调参数为一个object,内含当前日期的相关数据),此个回调函数必须输出一个(Boolean)布尔值来决定当前天是否禁止点击

说明:examplePipe或许比较难以理解(因遵循小程序插件开发规范,props不能传入非json数据类型的数据,所以props不能传入function;故只能通过这种方式将一个条件方法注入实例内部;来实现最大灵活的的日期禁用状态渲染)

示例代码

<!--wxml内--> <dateSelector value="{{datevalue}}" bodyStyle='height:800rpx' monthShowNum='{{3}}' bindexamplePipe='dipachExample' bindchange='ondatechange' > <button>日期选择</button> </dateSelector> <!--js内--> dipachExample:function(e){ //实例管道会返回一个注入方法函数(当前只支持注入方法blackout) let now=new Date().getTime()-1000*60*60*24, setMethod = e.detail.setMethod; setMethod("blackout",(dateObj)=>{ return now <= dateObj.timeStamp }) } count:计数器

props type isMast defult range explain
type String false "default" img/default 计数器类型;img为icon为图形
value Number false 0 int 设置计数器的值(可动态设置)
max Number false 100 int 最大值
min Number false 0 int 最小值
interval Number false 1 int 递增/递减的间隔数
iconURL Object false {"R":[],"P":[]} -- icon图片的URL路径对象{R:[],P:[]}其中R为递减的图片路径集合,集合包含两个值;第一个为可点击状态,第二个为禁止点击状态;P为递增
textStyle cssString false -- -- 中间数字的样式
evnets event.detail explain
change {value:number} 数字改变时候出发

示例代码

<count max='{{10}}' bindchange='oncountchange' /> drawer:抽屉盒子

props type isMast defult range explain
switch Boolean false false true/false 动态设置抽屉盒子的开关
iconRotate Array false ["45","135"] -- 右边icon的展开与闭合的旋转角度
contentStyle cssString false -- -- 内容容器样式
titleStyle cssString false -- -- 头部样式
slot explain
title 头部内容
content 主体内容

示例代码

<drawer switch='{{true}}' > <view slot='title'>我是标题</view> <view slot='content'>主体内容</view> </drawer> STBox/STItem:滚动吸顶盒子(组)

STBox

props type isMast defult range explain
scrollTop Number false 0 int 容器初始滚动值
boxStyle cssString false -- -- 组件容器样式

STItem

props type isMast defult range explain
boxStyle cssString false -- -- 组件容器样式
contentStyle cssString false -- -- 内容样式
translateY Number false 0 int 垂直方向移动距离
triggerOffset Number false 0 int 触发吸顶的偏移距离
STStyle cssString false -- -- 吸顶后的样式
evnets event.detail explain
ST { isST:true, translateY: 0 } STItem的吸顶事件;会返回相应的偏移值

说明:STBox需与STItem配套使用

示例代码

<STBox boxStyle='height:700rpx'> <view>这些是正常的内容</view> <view>这些是正常的内容</view> <view>这些是正常的内容</view> <view>这些是正常的内容</view> <STItem STStyle='background-color:#fff;width:100%;' > <view>我是滚着滚着就吸顶的内容</view> </STItem> <view>这些是正常的内容</view> <view>这些是正常的内容</view> </STBox> Cslider:滑块组件(可双滑块)

props type isMast defult range explain
type String false "default" range/default 滑块类型;range范围选择(出现两个手柄);default为点选(只有一个滑动手柄)
value Array false [] -- 动态设置滑块的值
scale Array true -- -- 如果mode为custom时必传,JSON的数组
mode String false "ratio" ratio/custom 滑块的模板ratio为百分比;custom自定义
minRange Number false 1 int 最小间隔区域
valueKey String false "bst_value" -- 当mode为custom时JSON内部值唯一字段(类似数据的id)
checkedColor String false #38A8F6 #****** 选中横线的颜色
unCheckedColor String false #CCCCCC #****** 未选中横线的颜色
evnets event.detail explain
change [] scale中被选中的值

示例代码

<!--wxml内--> <Cslider scale='{{testList}}' mode='custom' type='range' valueKey='label' bindchange='onsliderchange' /> <!--js内--> data:{ testList: [ {label:"item1",data:{test:"112212"}}, {label:"item2",data:{test:"112212"}}, {label:"item3",data:{test:"112212"}}, {label:"item4",data:{test:"112212"}}, {label:"item5",data:{test:"112212"}}, ] }, Ctab/CtabItem:选项卡(组)

Ctab

props type isMast defult range explain
current Number false 0 int 当前选中的item的index(可动态设置)
titleItemWidth Number false 100 int title里面的button的宽度
titleCheckedStyle cssString false "" -- 选中的title内button的样式

CtabItem

props type isMast defult range explain
title String false "title" -- title内button的文本
data null false "" -- 需要传递的数据,会在Ctab的change事件中返回
icon String false "" URL title内部button前面的icon(必须为URL)
itemStyle cssString false "" -- content内容部分的容器的样式
evnets event.detail explain
change CtabItem中data参数 作用于Ctab,当选中值改变时触发

说明:Ctab与CtabItem需配套使用,CtabItem可以左右滑动来切换选择的值

示例代码

<Ctab current='{{0}}' bindchange='ontabchange' > <CtabItem title='我是标题1' icon='https://miniapp.scqcp.com/images/cityline_siji.png' itemStyle='padding:30rpx 0' > <view>我是内容1哦<view> </CtabItem> <CtabItem title='我是标题2' icon='https://miniapp.scqcp.com/images/cityline_ren.png' > 我是内容2 </CtabItem> </Ctab> Cinput:输入框(清除icon)

props type isMast defult range explain
type String false "text" text、number、idcard、digit 输入框的类型(可参照小程序开发文档input组件)
boxStyle cssString false "" -- 组件容器样式
inputStyle cssString false "" -- 输入框input样式
value String false "" -- 初始化输入框的值(可动态设置)
disabled Boolean false false true/false 是否禁止当前组件
startIconType String false "search" success, success_no_circle, info, warn, waiting, cancel, download, search, clear 头部icon类型(参照微信小程序开发文档icon)
startIconColor String false "" #****** 头部icon的颜色(当传入此选项或startIconURL时才具有头部的icon图标)
clearColor String false "" #****** 尾部清除icon的颜色(当传入此选项时组件才具有清除按钮)
startIconURL String false "" URL 头部icon的url路径(如果传入此选项,startIconType与startIconColor选项无效)
focus Boolean false false true/false 自动获取焦点
confirmType Boolean false false true/false 设置键盘右下角按钮的文字,仅在type='text'时生效
cursorSpacing Number false 0 int 指定光标与键盘的距离,取 input 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离
maxlength Number false 140 int 最大输入长度,设置为 -1 的时候不限制最大长度
placeholder String false "" -- 输入框为空时占位符
placeholderStyle cssString false "" -- 输入框为空时占位符的样式
evnets event.detail explain
input {value, cursor, keyCode} 键盘输入时触发(点击清除icon的时候也会触发该事件)
focus { value, height } 输入框聚焦时触发
blur {value: value} 输入框失去焦点时触发
confirm {value: value} 点击完成按钮时触发

示例代码

<Cinput startIconColor='#ddd' clearColor='#ddd' /> LSDrawer:左滑抽屉/(删除)盒子

props type isMast defult range explain
slidingDistance String/Number false "30%" int、/\d+px$/、百分比 可滑动的距离,为Number类型时默认添加单位“px”,字符串类型时可以为“100px”或“40%”这样的格式
hiddenValue String false "删除" -- 隐藏区域的文本内容
hiddenStyle cssString false "" -- 隐藏区域的样式
customHidden Boolean false false true/false 是否自定义隐藏区域内容
data null false "" -- 需要传递的数据(clear事件会返回)
isOpen Boolean false false true/false 是否展开(可动态设置)
evnets event.detail explain
clear props传入的data 点击隐藏区域的"删除"按钮触发(当customHidden为true时无效)
slot explain
default 主体内容
hidden 自定义隐藏区域的内容

示例代码

<LSDrawer isOpen='{{true}}'> test2 </LSDrawer> Cheader:自定义导航栏

props type isMast defult range explain
boxStyle cssString false "" -- 组件容器样式(可动态改变,例如动态改变不透明度)
leftStyle cssString false "" -- 左边返回按钮区域的样式
centerStyle cssString false "" -- 内容区域的样式
backWidth cssString false "50px" -- 返回按钮区域的宽度
backZindex String false "5" -- 返回按钮区域的z-index
evnets event.detail explain
back -- 点击back按钮时的回调
examplePipe {height} 实例管道事件(当组件初始化后,会调用该事件,参数height为导航条的真实高度)
slot explain
default 主体内容

此header只具有导航条的样式,不具备回退(back)交互功能;如需返回上一页,请绑定back事件自行回退(受小程序插件约束,插件内部不能控制路由相关操作)

示例代码

<!--wxml内--> <Cheader boxStyle='color:#fff;background-color:#157CF0' bindexamplePipe='onexamplePipe' bindback='onback' >我是一个导航条</Cheader> <!--js内--> onexamplePipe:function(e){ console.log(e.detail,"这是导航条的高度,可根据此高度设置内容区域的padding或者margin防止导航条遮挡内容") }, onback:function(e){ console.log("这里可以控制路由返回"); wx.navigateBack({delta:1}) }, queue/queueItem:队列(组)

queue

props type isMast defult range explain
type String false "list" equipartition、list、auto 组件类型;equipartition为均分两端对齐item排列,每个item宽度一致,间隙自适应;auto为每个item宽度自适应,排列inline;list为正常默认垂直排列
itemStyle cssString false "" -- 每个插入的item的样式,当type为equipartition时其中width属性(默认为30%/每行3个)决定每一行的个数并且过滤掉(marginLeft与marginRight的值),例如width:24%那么每一行就会有4个item;
boxStyle cssString false "" -- 组件容器样式

queueItem

props type isMast defult range explain
itemStyle cssString false "" -- 同queue的itemStyle但优先级高于它(用于特殊item的样式处理)
slot explain
default item插入内容

queue队列需要queueItem搭配使用;type为equipartition时可拓展为宫格;type为auto可拓展为tag选择标签

示例代码

<!--wxml内--> <queue type='equipartition' itemStyle='background-color:red;margin-right:10rpx' > <queueItem>我是老大</queueItem> <queueItem>-.-!我不想和你们玩了</queueItem> <queueItem>我是老三</queueItem> <queueItem>我是老四</queueItem> <queueItem>我是老五</queueItem> </queue> JS API

<!--page.js内可这样引入--> let { InitDateObj, //初始化时间类 patternGetValue, //取值模式 drillJSON, //下钻json数据 myFor, //循环 duplicateRemoval, //数组去重 hasKey, //判断对象是否含有某些值 formatCss, //格式化css字符串 cssObjToString, //将一个css样式对象转化为字符串 mergeCssStr, //合并css字符串、对象 Displacementer, //坐标换算类 initAryforJSON //初始化json数组 } = requirePlugin('BSTCommon') InitDateObj:初始化时间类(class)

此类为静态方法类,提供的方法如下:

function parameter(type) return(type) explain
getDivision newModel(string) D(object) 获取一个底层备用的模板数据对象,newModel为一个含有【YMDhms】这6个字母与其他分隔符组成的字符串;例如:“YYYY-MM-DD hh:mm:ss”;返回数据对象D:{division, getValueSequence}
completionStr str(number) newNumberSstring(string) 将各位数的数字转换为两位数的字符串,例如:str为1时返回"01"
initDate date(Date/DateString)、model(string) D(object) 初始化一个时间对象,参数model为含有【YMDhms】字母的字符串模板,例如:"YYYY-MM-DD";输出的D为一个object,含有对应的KEY以及值;例如:{Y:2019,M:5,D:23}
getDateString date(Date/DateString)、model(string) DateString(string) 获取一个时间字符串;例如:let mydatestr=InitDateObj.getDateString(new Date(),"YYYY-MM-DD/hh:mm:ss");mydatestr的值为2019-05-23/10:23:50;除【YMDhms】预留字母意外的分隔符可以用任意字符(包括汉字);例如model可以为"YYYY年MM月DD日hh时mm分ss秒"
getNickname date(Date/DateString)、model(string) datename(string) 返回一个日期的昵称,当前有3个预留【今天、明天、后天】这三个时间以外的都为【周+Number】
getDate date(DateString)、model(string) Date(DateObject) 根据字符串生成时间对象
getDateDiffStr start(必填),end(必填),maxC,minC,config DateString(string) 获取时间差值字符串;start为开始时间,end为结束时间;maxC、minC属于【YMDhms】中的一个字母,用来确定当前单位的左右边界;默认maxC=“Y” minC=“s”
countDown option或者endTime、callback或者endTime、options、callback null 次函数参数不定,当只有一个参数时,需为Object;且含有字段["timer", "date"]字段"timer"必须为函数;当传入两个参数时第一个为Date(Date/DateString),第二个参数为回调函数;当传入三个参数时第一个为Date(Date/DateString),第二个为option,第三个为回调函数;
isLeapYear year(Number) Boolean 判断传入的年份是否为闰年
getMonthDayNum year(Number),month(Number) dayNum(Number) 根据年月获取当前月有多少天(月份的范围是1-12)
patternGetValue:模式取值(function)

此方法为模式取值方法,可用于组件内部取值模式由外部传入;返回一个按照传入模式取值后的值;

parameter-index parameter type explain
0 obj Object 此参数为取值对象
1 patternStr String 取值模式字符串;例如:'body.data.value'或者'[0].label'

示例代码

<!--js内 已引入patternGetValue--> let testList=[ {label:"item1",data:{test:"112212"}}, {label:"item2",data:{test:"112212"}}, {label:"item3",data:{test:"112212"}}, {label:"item4",data:{test:"112212"}}, {label:"item5",data:{test:"112212"}}, ]; console.log(patternGetValue(testList,'[0].label')) //item1

小伙伴们JSapi文档暂时更新到这里,后续会继续更新

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。