在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-actionsheet\": \"path/to/zanui-weapp/dist/actionsheet/index\"\n }\n}\n
\n<button bindtap=\"openActionSheet\">Open ActionSheet</button>\n<view class=\"actionsheet-container\">\n <!-- 监听自定义事件 cancel 和 actionclick,绑定回调函数 -->\n <zan-actionsheet\n show=\"{{ show }}\"\n actions=\"{{ actions }}\"\n cancel-text=\"{{ cancelText }}\"\n cancel-with-mask=\"{{ cancelWithMask }}\"\n bind:cancel=\"closeActionSheet\"\n bind:actionclick=\"handleActionClick\"\n >\n </zan-actionsheet>\n</view>\n
\n// 在 Page 中混入 Actionsheet 里面声明的方法\nPage({\n data: {\n show: false,\n cancelWithMask: true,\n actions: [{\n name: '选项1',\n subname: '选项描述语1',\n loading: false\n }, {\n name: '选项2',\n subname: '选项描述语2',\n loading: false\n }, {\n name: '去分享',\n openType: 'share'\n }],\n cancelText: '关闭 Action'\n },\n openActionSheet() {\n this.setData({\n 'show': true\n });\n },\n closeActionSheet() {\n this.setData({\n 'show': false\n });\n },\n handleActionClick({ detail }) {\n // 获取被点击的按钮 index\n const { index } = detail;\n }\n});\n
\nActionsheet
支持的具体参数如下( 传入时使用分隔线写法 )参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
show | \n用来表示是否展示行动按钮 | \nBoolean | \nfalse | \n\n |
actions | \n指定弹层里的按钮 | \nArray | \n[] | \n\n |
cancelText | \n行动按钮底部取消按钮的文案,不传则不显示取消按钮 | \nString | \n\n | \n |
cancelWithMask | \n是否在点击背景时,关闭行动按钮 | \nBoolean | \nfalse | \n\n |
mask-class | \n用于控制蒙层样式的外部类 | \nString | \n\n | \n |
container-class | \n用于控制容器样式的外部类 | \nString | \n\n | \n |
actions 的具体数据结构
\n// actions 为数组结构传入\n[{\n // 按钮文案\n name: '选项1',\n // 按钮描述文案,不传就不显示\n subname: '选项描述语1',\n // 按钮是否显示为 loading\n loading: false,\n // 按钮的微信开放能力\n // 具体支持可参考微信官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/component/button.html\n openType: 'share'\n}]\n
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-badge\": \"path/to/zanui-weapp/dist/badge/index\"\n }\n}\n
\n<view class=\"badge-container\">\n <zan-badge>10</zan-badge>\n</view>\n
\n<view class=\"badge-container\">\n <zan-badge\n color=\"{{ color }}\"\n background-color=\"{{ backgroundColor }}\"\n font-size=\"{{ fontSize }}\"\n box-shadow=\"{{ boxShadow }}\"\n >10</zan-badge>\n</view>\n
\n.badge-container {\n width: 100px;\n height: 100px;\n}\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n
---|---|---|---|
color | \n字体颜色 | \nString | \n#fff | \n
background-color | \n背景颜色 | \nString | \n#f44 | \n
font-size | \n字体大小 | \nNumber | \n10 | \n
box-shadow | \n同css box-shadow语法 | \nString | \n0 0 0 2px #fff | \n
在 json 文件中配置button组件
\n\"usingComponents\": {\n \"zan-button\": \"path/to/zanui-weapp/dist/btn/index\"\n}\n
\n<zan-button>取消订单</zan-button>\n
\n按钮支持额外的三种类型 primary, danger, warn
\n<zan-button type=\"primary\">确认付款</zan-button>\n<zan-button type=\"danger\">确认付款</zan-button>\n<zan-button type=\"warn\">确认付款</zan-button>\n
\n按钮支持额外三种大小 large, small, mini
\n<zan-button size=\"large\">确认付款</zan-button>\n<zan-button size=\"small\">取消订单</zan-button>\n<zan-button size=\"mini\">确认付款</zan-button>\n
\n按钮镂空状态
\n<zan-button plain>确认付款</zan-button>\n
\n按钮加载状态
\n<zan-button loading>确认付款</zan-button>\n
\n按钮禁用状态
\n<zan-button disabled>确认付款</zan-button>\n
\n通过配合 zan-button-group 使用,可以让按钮之间自动有合适的间距出现,使用方式如下
\n1.在 json 文件中配置 button-group 组件
\n\"usingComponents\": {\n \"zan-button\": \"path/to/zanui-weapp/dist/btn/index\",\n \"zan-button-group\": \"path/to/zanui-weapp/dist/btn-group/index\"\n}\n
\n2.在 wxml 中直接引入
\n<zan-button-group>\n <zan-button>确认付款</zan-button>\n <zan-button>再考虑下</zan-button>\n</zan-button-group>\n
\n名称 | \n类型 | \n是否必须 | \n默认 | \n描述 | \n
---|---|---|---|---|
type | \nString | \n否 | \n空 | \n按钮类型,值有primary、warn、danger | \n
size | \nString | \n否 | \n空 | \n按钮大小,值有large、small、mini | \n
plain | \nBoolean | \n否 | \nfalse | \n\b按钮是否镂空,默认为false | \n
disabled | \nBoolean | \n否 | \nfalse | \n按钮是否禁用,默认为false | \n
loading | \nBoolean | \n否 | \nfalse | \n按钮加载状态,默认为false | \n
openType | \nString | \n否 | \n- | \n微信开放能力 | \n
appParameter | \nString | \n否 | \n- | \n打开 APP 时,向 APP 传递的参数 | \n
hoverStartTime | \nNumber | \n否 | \n20 | \n按住后多久出现点击态,单位毫秒 | \n
hoverStayTime | \nNumber | \n否 | \n70 | \n手指松开后点击态保留时间,单位毫秒 | \n
lang | \nString | \n否 | \nen | \n指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文 | \n
sessionFrom | \nString | \n否 | \n- | \n会话来源 | \n
sendMessageTitle | \nString | \n否 | \n当前标题 | \n会话内消息卡片标题 | \n
sendMessagePath | \nString | \n否 | \n当前分享路径 | \n会话内消息卡片点击跳转小程序路径 | \n
sendMessageImg | \nString | \n否 | \n截图 | \n会话内消息卡片图片 | \n
showMessageCard | \nString | \n否 | \nfalse | \n显示会话内消息卡片 | \n
事件名称 | \n说明 | \n回调参数 | \n
---|---|---|
btnclick | \n按钮在可用状态被点击时触发 | \n\n |
disabledclick | \n在传入的 disabled 为 true 时,点击按钮会触发此事件 | \n\n |
getuserinfo | \n用户点击该按钮时,会返回获取到的用户信息,从返回参数的detail中获取到的值同wx.getUserInfo | \n\n |
contact | \n客服消息回调 | \n\n |
getphonenumber | \n获取用户手机号回调 | \n\n |
error | \n当使用开放能力时,发生错误的回调 | \n\n |
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-capsule\": \"path/to/zanui-weapp/dist/capsule/index\"\n }\n}\n
\nPanel 提供了一块白色的展示区域,使用方式如下
\n<zan-capsule color=\"#38f\" leftText=\"1折扣\" rightText=\"限购一份\" />\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
type | \ncapsule的主体颜色,可选值:danger | \nString | \n'' | \n\n |
color | \n自定义capsule颜色 | \nString | \n- | \n\n |
leftText | \n左侧文案 | \nString | \n- | \n\n |
rightText | \n右侧文案 | \nString | \n- | \n\n |
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-card\": \"path/to/zanui-weapp/dist/card/index\"\n }\n}\n
\n卡片可以用于左侧图片,右侧描述信息的展示。默认是商品相关内容的展示,需要展示其他内容可以使用自定义slot。
\n<zan-card\n card-class=\"test-card\"\n thumb=\"https://img.yzcdn.cn/upload_files/2016/11/25/FpqPXlrMRjKwJs8VdTu3ZDJCj4j5.jpeg?imageView2/2/w/200/h/200/q/90/format/jpeg\"\n price=\"999.99\"\n title=\"红烧牛肉【虚拟商品】【有库存】【有sku】\"\n num=\"2\"\n desc=\"3000克 50%\"\n status=\"已发货\"\n>\n</zan-card>\n
\nzan-card
由 zan-card__thumb
和 zan-card__detail
组成。分别负责左侧图片展示和右侧内容区域展示。两部分内容可以使用slot进行替换。
<zan-card\n card-class=\"test-card\"\n useDetailSlot=\"{{ true }}\"\n>\n <!-- 右侧详情 -->\n <view slot=\"detail-slot\" class=\"zan-card__detail\">\n 我是标题\n </view>\n</zan-card>\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n
---|---|---|---|
card-class | \n自定义最外层class | \nString | \n- | \n
thumb | \n左侧缩略图 | \nString | \n- | \n
price | \n商品价格 | \nString | \n- | \n
title | \n商品标题 | \nString | \n- | \n
desc | \n商品描述 | \nString | \n- | \n
num | \n商品数量 | \nNumber | \n- | \n
status | \n商品状态 | \nString | \n- | \n
useDetailSlot | \n是否使用detail-slot(true时需要添加对应slot) | \nBoolean | \nfalse | \n
类名 | \n说明 | \n
---|---|
card-class | \n根节点自定义样式类,通过这个可以改变根节点上的样式 | \n
thumb-class | \n左侧图片自定义样式类,可以通过这个修改图片的展示大小形式 | \n
{\n \"usingComponents\": {\n \"zan-cell\": \"path/to/zanui-weapp/dist/cell/index\",\n }\n }\n
\n <zan-cell title=\"单行列表\" label=\"附加描述\" value=\"详细信息\"></zan-cell>\n
\n多个 cell 组件必须作为 cell-group
组件的子组件,否则可能出现显示问题。
{\n \"usingComponents\": {\n \"zan-cell\": \"path/to/zanui-weapp/dist/cell/index\",\n \"zan-cell-group\": \"path/to/zanui-weapp/dist/cell-group/index\"\n }\n }\n
\ncell-group
提供title-width
控制组内整体 cell 的 title 区域宽度
<zan-cell-group title-width=\"90\">\n <zan-cell title=\"只显示箭头\" is-link></zan-cell>\n <zan-cell title=\"跳转到首页\" is-link url=\"/pages/dashboard/index\"></zan-cell>\n <zan-cell title=\"单行列表\" label=\"附加描述\" value=\"详细信息\"></zan-cell>\n <zan-cell title=\"表单\">\n <input slot=\"footer\" type=\"digit\" placeholder=\"带小数点的数字键盘\"/>\n </zan-cell>\n <zan-cell title=\"开关\">\n <switch slot=\"footer\" checked/>\n </zan-cell>\n </zan-cell-group>\n
\n名称 | \n类型 | \n是否必须 | \n默认 | \n描述 | \n
---|---|---|---|---|
title | \nString | \n否 | \n无 | \n左侧标题 | \n
label | \nBoolean | \n否 | \nfalse | \n标题下方的描述信息 | \n
value | \nString | \n否 | \n取消 | \n右侧内容 | \n
noBorder | \nBoolean | \n否 | \nfalse | \n不显示下边线 | \n
isLink | \nBoolean | \n否 | \nfalse | \n是否展示右侧箭头并开启尝试以 url 跳转 | \n
url | \nString | \n否 | \n- | \n当 isLink 设置为 true 时,点击 cell 会尝试跳转到该路径 | \n
linkType | \nString | \n否 | \nnavigateTo | \n链接跳转类型,可选值为 navigateTo ,redirectTo ,switchTab ,reLaunch | \n
onlyTapFooter | \nBoolean | \n否 | \nfalse | \n只有点击 footer 区域才触发 tab 事件 | \n
bindtap | \nEventHandle | \n否 | \n无 | \n点击 cell 时触发,onlyTapFooter 为 true 时点击 footer 区域触发 | \n
名称 | \n是否必须 | \n默认 | \n描述 | \n
---|---|---|---|
默认 | \n否 | \n无 | \n左侧除了 title ,label 外的自定义 wxml 内容 | \n
icon | \n否 | \n无 | \n标题前自定义的 icon,可使用 icon 自定义组件,具体使用参考 icon 组件 | \n
footer | \n否 | \n无 | \n右侧自定义 wxml 内容,如果设置了 value 属性,则不生效 | \n
类名 | \n说明 | \n
---|---|
cell-class | \n根节点自定义样式类,通过这个可以改变根节点上的样式 | \n
title-class | \ntitle区域自定义样式 | \n
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-checkbox\": \"/packages/checkbox/index\"\n }\n}\n
\n<zan-checkbox\n checkbox-class=\"checkbox-demo\"\n bindchange=\"handleCheckboxChange\"\n>复选框</zan-checkbox>\n
\n<zan-checkbox\n checkbox-class=\"checkbox-demo\"\n bindchange=\"handleCheckboxChange\"\n>复选框</zan-checkbox>\n
\n<zan-checkbox\n checkbox-class=\"checkbox-demo\"\n disabled\n checked=\"{{ true }}\"\n>复选框</zan-checkbox>\n
\n<zan-checkbox\n checkbox-class=\"checkbox-demo\"\n label-disabled\n>复选框</zan-checkbox>\n
\n<zan-checkbox-group>\n <zan-checkbox\n wx:for=\"{{ items }}\"\n wx:for-item=\"item\"\n wx:for-index=\"index\"\n wx:key=\"{{ value }}\"\n checked=\"{{ item.checked }}\"\n data-index=\"{{ index }}\"\n bindchange=\"handleCheckboxChange\"\n >复选框 {{ item.name }}</zan-checkbox>\n</zan-checkbox-group>\n
\nPage({\n data: {\n items: [\n {value: 'a'},\n {value: 'b', checked: true},\n {value: 'c'},\n ]\n }\n});\n
\n<zan-checkbox type=\"list\">复选框 a</zan-checkbox>\n<zan-checkbox type=\"list\">复选框 b</zan-checkbox>\n<zan-checkbox type=\"list\">复选框 c</zan-checkbox>\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
checked | \n是否选中 | \nBoolean | \nfalse | \n\n |
disabled | \n是否可用 | \nBoolean | \nfalse | \n\n |
labelDisabled | \n文字区域是否可选 | \nBoolean | \nfalse | \n\n |
type | \n显示类型 | \nString | \n- | \n\n |
事件名称 | \n说明 | \n回调参数 | \n
---|---|---|
change | \n数值改变时修改 | \nchecked值 | \n
使用 picker 组件开发的时间日期组件,弥补小程序 picker 自身对于快速时间选择的不支持。
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-date-picker\": \"path/to/zanui-weapp/dist/datetime-picker/index\"\n }\n}\n
\n可以在任意位置上使用 zan-date-picker 标签。
\n<zan-date-picker\n bindchange=\"change\"\n bindcancel=\"cancel\"\n placeholder=\"请选择一个时间\"\n placeholder-class=\"my-customer-class-name\"\n format=\"你选择了YYYY年MM月DD日HH点mm分ss秒\"\n/>\n
\n名称 | \n类型 | \n是否必须 | \n默认 | \n描述 | \n
---|---|---|---|---|
date | \nString | \n否 | \n当前时间 | \n初始化时间,传入的值会被 Date 构造函数转换为一个 Date 对象,不合法的值将抛出一个错误 | \n
placeholder-class | \nString | \n否 | \n无 | \n自定义类,可改变 placeholder 样式,其他类无效,picker-view 为 true 时不支持 | \n
placeholder | \nString | \n否 | \n请选择时间 | \n设置 picker 的 placeholder,picker-view 为 true 时不支持 | \n
not-use | \nArray | \n否 | \n无 | \n不需要显示的列 可选择years , months , days , hours , minutes , seconds 中的多个 | \n
picker-view | \nBoolean | \n否 | \n无 | \n如果为 true,相当于 picker-view 组件 | \n
format | \nString | \n否 | \nYYYY-MM-DD HH:mm:ss | \n设置选中的时间显示的格式,支持 YYYY,yyyy,YY,yy,MM,M,DD,dd,D,d,HH, hh,H,h,mm,m,ss,s | \n
bindchange | \nString | \n是 | \n无 | \n用户点击确认 触发该事件,返回值为按“年,月,日,时,分,秒”顺序的数组,可以通过detail.value 获取;3.0.8 后新增 date 值,表示当前选择时间的对象 | \n
bindcancel | \nString | \n否 | \n无 | \n用户点击取消 触发该事件 | \n
名称 | \n参数 | \n描述 | \n
---|---|---|
getFormatStr | \n无 | \n返回 format 格式的字符串,在 picker-view 为 true 时比较实用 | \n
支持可选择时间区域限制\n
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-dialog\": \"path/to/zanui-weapp/dist/dialog/index\"\n }\n}\n
\n在需要使用的页面里引入组件库模板和脚本
\n<zan-dialog id=\"zan-dialog-test\"></zan-dialog>\n
\nconst Dialog = require('path/to/zanui-weapp/dist/dialog/dialog');\n\nPage({\n // ...\n // 可以在任意方法里直接调用,即可唤起\n handleClick() {\n Dialog({\n title: '',\n message: '',\n selector: '#zan-dialog-test'\n }).then((res) => {\n console.log(res);\n })\n }\n});\n
\n按钮可以通过设置 buttonsShowVertical 来切换按钮纵向展示或者横向并排展示,方便各种场景下使用。
\nDialog({\n message: '这是一个模态弹窗',\n buttonsShowVertical: true,\n showCancelButton: true\n});\n
\ndialog
支持自定义展示按钮。设置 buttons 数组即可实现。自定义按钮的点击后,都会在 resolve 状态中监听到。
Dialog({\n message: '这是一个模态弹窗',\n buttons: [{\n // 按钮文案\n text: '现金支付',\n // 按钮文字颜色\n color: 'red',\n // 按钮类型,用于在 then 中接受点击事件时,判断是哪一个按钮被点击\n type: 'cash'\n }, {\n text: '微信支付',\n color: '#3CC51F',\n type: 'wechat'\n }, {\n text: '取消',\n type: 'cancel'\n }]\n}).then(({ type, hasOpenDataPromise, openDataPromise }) => {\n // type 可以用于判断具体是哪一个按钮被点击\n console.log('=== dialog with custom buttons ===', `type: ${type}`);\n\n // - 在使用自定义按钮的情况下,可以将按钮的 openType 设置为微信原生按钮支持的 open-type\n // - 如果设置的 openType 为 'getUserInfo', 'getPhoneNumber', 'openSetting' 其中之一\n // 就认为是需要返回相应的数据\n // 为了处理方便,增加 flag 值 hasOpenDataPromise,表示是否有微信开放数据返回\n // 这时,通过利用 openDataPromise,可以获取开放数据返回的具体信息\n if (hasOpenDataPromise) {\n openDataPromise.then((data) => {\n console.log('成功获取信息', data);\n }).catch((data) => {\n console.log('获取信息失败', data);\n });\n }\n});\n
\n方法名 | \n参数 | \n返回值 | \n介绍 | \n
---|---|---|---|
Dialog | \noptions 弹窗展示参数,具体见下方具体参数, pageCtx 页面上下文,可以不传,默认使用当前页面 | \n- | \n展示弹窗 | \n
Dialog.close | \noptions 和弹窗展示参数一致,这里只需要 selector | \n- | \n关闭弹窗 | \n
参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
message | \n弹窗内容 | \nString | \n- | \n必须 | \n
selector | \n显示弹窗对应组件节点的选择器 | \nString | \n- | \n必须 | \n
title | \n弹窗标题 | \nString | \n- | \n\n |
autoClose | \n点击按钮后是否自动关闭弹窗 | \nBoolean | \ntrue | \n\n |
buttonsShowVertical | \n按钮是否纵向展示 | \nBoolean | \nfalse | \n\n |
showConfirmButton | \n是否展示确认按钮 | \nBoolean | \ntrue | \n\n |
confirmButtonText | \n确认按钮文案 | \nString | \n确定 | \n\n |
confirmButtonColor | \n确认按钮文字颜色 | \nString | \n#3CC51F | \n\n |
showCancelButton | \n是否展示取消按钮 | \nBoolean | \nfalse | \n\n |
cancelButtonText | \n取消按钮文案 | \nString | \n取消 | \n\n |
cancelButtonColor | \n取消按钮文字颜色 | \nString | \n#333 | \n\n |
buttons | \n自定义按钮列表,设置以后,以上关于 确认 和 取消 按钮的设置全部不生效。 | \nArray | \n- | \n\n |
buttons 数据格式
\n[{\n // 按钮文案\n text: '现金支付',\n // 按钮文字颜色\n color: 'red',\n // 按钮类型,用于在 then 中接受点击事件时,判断是哪一个按钮被点击\n type: 'cash'\n}, {\n // 按钮文案\n text: '微信支付',\n // 按钮文字颜色\n color: '#3CC51F',\n // 按钮类型,用于在 then 中接受点击事件时,判断是哪一个按钮被点击\n type: 'wechat'\n}, {\n // 按钮文案\n text: '取消',\n // 按钮类型,用于在 then 中接受点击事件时,判断是哪一个按钮被点击\n type: 'cancel'\n}, {\n text: '获取用户信息',\n type: 'userInfo',\n // 利用 OpenType 设置微信按钮的开放能力\n // 设置对应的值以后,这个按钮就会具有调用微信原生按钮支持的开放能力\n openType: 'getUserInfo'\n}]\n
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-field\": \"path/to/zanui-weapp/dist/field/index\"\n }\n}\n
\nfield 支持多种展示方式,在 data
中传入对应的设置即可。
<zan-field\n title=\"{{ field.title }}\"\n placeholder=\"{{ field.placeholder }}\"\n focus=\"{{ field.focus }}\"\n value=\"{{ field.value }}\"\n bind:change=\"handleFieldChange\"\n>\n</zan-field>\n
\nPage({\n data: {\n field: {\n focus: true,\n title: '收货人',\n placeholder: '名字',\n value: 'test'\n }\n }\n});\n
\n<zan-cell-group>\n <zan-field title=\"姓名\"></zan-field>\n <zan-field title=\"邮件\"></zan-field>\n</zan-cell-group>\n
\nfield会触发一些事件,当你需要监听这些事件时,可以绑定对应的事件。
\n<zan-field\n title=\"{{ field.title }}\"\n placeholder=\"{{ field.placeholder }}\"\n focus=\"{{ field.focus }}\"\n value=\"{{ field.value }}\"\n bind:change=\"handleFieldChange\"\n bind:focus=\"handleFieldFocus\"\n bind:blur=\"handleFieldBlur\"\n>\n</zan-field>\n
\nPage(extend({}, {\n data: {\n field: {\n focus: true,\n title: '收货人',\n placeholder: '名字',\n value: 'test'\n }\n },\n\n methods: {\n handleFieldChange(event) {\n console.log(event);\n },\n\n handleFieldFocus(event) {\n console.log(event);\n },\n\n handleFieldBlur(event) {\n console.log(event);\n }\n }\n}));\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
title | \n输入框左侧标题,若传入为空,则不显示标题 | \nString | \n- | \n\n |
name | \n输入框的名字,作为 form 表单提交时数据的 key | \nString | \ncomponentId 指定的值 | \n\n |
value | \n输入框的内容 | \nString | \n- | \n\n |
type | \n输入框的类型,可选值为 input, textarea | \nString | \ninput | \n\n |
inputType | \n输入框为 input 情况下,输入框的类型,例如:number, text, password | \nString | \ntext | \n\n |
placeholder | \n输入框为空时占位符 | \nString | \n\n | \n |
maxlength | \n最大输入长度,设置为 -1 的时候不限制最大长度 | \nNumber | \n140 | \n\n |
focus | \n自动聚焦,拉起键盘 | \nBoolean | \nfalse | \n\n |
disabled | \n输入框是否禁用 | \nBoolean | \nfalse | \n\n |
mode | \n输入框展示样式,可选值为 wrapped, normal | \nString | \nnormal | \n\n |
right | \n输入框内容是否居右显示 | \nBoolean | \nfalse | \n\n |
error | \n是否显示为输入框错误情况下的样式 | \nBoolean | \nfalse | \n\n |
componentId | \n用于区分输入框之间的唯一名称 | \nString | \n- | \n\n |
事件名称 | \n说明 | \n回调参数 | \n
---|---|---|
change | \n当绑定值变化时触发的事件 | \nevent对象 | \n
focus | \n输入框focus | \nevent对象 | \n
blur | \n输入框blur | \nevent对象 | \n
在 app.wxss 中引入组件库所有样式
\n@import \"path/to/zanui-weapp/dist/index.wxss\";\n
\n直接在元素上增加指定 class 即可
\n<view class=\"zan-pull-right\">zan-pull-right: 往右靠</view>\n
\n具体可用类名如下:
\n字体大小
\nzan-font-8
文字以8像素大小展示
zan-font-10
文字以10像素大小展示
zan-font-12
文字以12像素大小展示
zan-font-14
文字以14像素大小展示
zan-font-16
文字以16像素大小展示
zan-font-18
文字以18像素大小展示
zan-font-20
文字以20像素大小展示
zan-font-22
文字以22像素大小展示
zan-font-24
文字以24像素大小展示
zan-font-30
文字以30像素大小展示
字体颜色
\nzan-c-red
文字以红色展示
zan-c-gray
文字以浅灰色展示
zan-c-gray-dark
文字以灰色展示
zan-c-gray-darker
文字以深灰色展示
zan-c-black
文字以黑色展示
zan-c-blue
文字以蓝色展示
zan-c-green
文字以绿色展示
字体样式
\nzan-pull-right
文字往右靠
zan-text-deleted
文字显示删除效果
zan-font-bold
文字加粗显示
其他
\nzan-arrow
展示向右侧箭头,以 absolute 布局,需要在外层加上 relative 来定位
zan-ellipsis
文字过长点点点显示
zan-ellipsis--l2
文字过长点点点显示,最多显示两行
zan-ellipsis--l3
文字过长点点点显示,最多显示三行\n
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-icon\": \"path/to/zanui-weapp/dist/icon/index\"\n }\n}\n
\n可以在任意位置上使用 zan-icon 标签。通过 type 可以控制 icon 显示的图标
\n<zan-icon type=\"success\"></zan-icon>\n
\n支持的 icon 和 名称 见下图
\n\n
\n
\n
\n
在 index.json 中引入组件
\n {\n \"usingComponents\": {\n \"zan-loading\": \"path/to/zanui-weapp/dist/loading/index\"\n }\n }\n
\n在页面上直接使用 zan-loading 标签即可
\n <zan-loading type=\"circle\"></zan-loading>\n <zan-loading type=\"spinner\" color=\"black\"></zan-loading>\n <zan-loading type=\"dot\"></zan-loading>\n
\n名称 | \n类型 | \n是否必须 | \n默认 | \n描述 | \n
---|---|---|---|---|
type | \nString | \n否 | \ncircle | \nloading 类型,可支持 circle,spinner,dot | \n
color | \nString | \n否 | \n无 | \n可选值 black | \n
use | \nString,Number | \n否 | \n1 | \n选择每种 Loading 类型的样式 | \n
在 index.json 中引入组件
\n {\n ...\n \"usingComponents\": {\n \"zan-loadmore\": \"../../dist/loadmore/index\"\n }\n ...\n }\n
\n在页面上直接使用 zan-loadmore 标签即可
\n <zan-loadmore type=\"text\"></zan-loadmore>\n <zan-loadmore type=\"loading\"></zan-loadmore>\n <zan-loadmore type=\"text\" text=\"暂无数据\"></zan-loadmore>\n
\n名称 | \n类型 | \n是否必须 | \n默认 | \n描述 | \n
---|---|---|---|---|
type | \nString | \n是 | \nloading | \n可选loading , text | \n
text | \nString | \n否 | \n暂无数据 | \n文案 | \n
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-noticebar\": \"path/to/zanui-weapp/dist/noticebar/index\"\n }\n}\n
\n在 index.js 中声明组件数据
\n// 在 Page 中声明 Noticebar 依赖的展示数据\nPage({\n data: {\n text: 'xxx',\n scrollable: 'xxx',\n ...\n }\n})\n
\nNoticebar
组件支持滚动和静止两种展示方式,通过 text 传入展示文案
<zan-noticebar\n text=\"{{ text }}\"\n/>\n
\n<zan-noticebar\n text=\"{{ text }}\"\n scrollable=\"true\"\n/>\n
\n<zan-noticebar\n text=\"{{ text }}\"\n scrollable=\"true\"\n delay=\"{{ delay }}\"\n/>\n
\n<zan-noticebar\n text=\"{{ text }}\"\n scrollable=\"true\"\n speed=\"{{ speed }}\"\n/>\n
\n<zan-noticebar\n text=\"{{ text }}\"\n color=\"{{ color }}\"\n background-color=\"{{ backgroundColor }}\"\n/>\n
\n<zan-noticebar\n text=\"{{ text }}\"\n left-icon=\"https://img.yzcdn.cn/public_files/2017/8/10/6af5b7168eed548100d9041f07b7c616.png\"\n/>\n
\n<zan-noticebar\n text=\"{{ text }}\"\n mode=\"closeable\"\n/>\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n可选值 | \n
---|---|---|---|---|
text | \n通告栏展示文案 | \nString | \n- | \n\n |
mode | \n通告栏模式 | \nString | \n'' | \ncloseable | \n
delay | \n滚动延时时间 | \nNumber | \n0 | \n\n |
speed | \n滚动速度 | \nNumber | \n40 | \n\n |
scrollable | \n是否可滚动 | \nBoolean | \nfalse | \n\n |
leftIcon | \n左侧图标 | \nString | \n- | \n\n |
color | \n通告栏字体颜色 | \nString | \n#f60 | \n\n |
backgroundColor | \n通告栏背景色 | \nString | \n#fff7cc | \n\n |
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-panel\": \"path/to/zanui-weapp/dist/panel/index\"\n }\n}\n
\nPanel 提供了一块白色的展示区域,使用方式如下
\n<zan-panel title='我是标题'>\n <view>内容</view>\n</zan-panel>\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
title | \npanel的标题 | \nString | \n- | \n\n |
hide-border | \n内容区隐藏边框 | \nBoolean | \n- | \n\n |
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-popup\": \"path/to/zanui-weapp/dist/popup/index\"\n }\n}\n
\n可以在页面任意位置上使用 zan-popup 标签。通过 show 可以控制弹窗是否展示
\n<zan-popup show=\"{{ show }}\"></zan-popup>\n
\npopup 额外支持了 上下左右 四种动画方式,通过增加 type 属性即可控制。使用方式如下
\n<!-- 从底部弹出的弹层 -->\n<zan-popup type=\"bottom\" show=\"{{ show }}\"></zan-popup>\n\n<!-- 从顶部弹出的弹层 -->\n<zan-popup type=\"top\" show=\"{{ show }}\"></zan-popup>\n\n<!-- 从左侧弹出的弹层 -->\n<zan-popup type=\"left\" show=\"{{ show }}\"></zan-popup>\n\n<!-- 从右侧弹出的弹层 -->\n<zan-popup type=\"right\" show=\"{{ show }}\"></zan-popup>\n
\n<zan-popup show=\"{{ isShow }}\" bindclose=\"togglePopup\"></zan-popup>\n
\ndata: {\n isShow: false\n},\ntogglePopup() {\n this.setData({\n isShow: !this.data.isShow\n });\n}\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
show | \n是否显示弹出层 | \nBoolean | \nfalse | \n\n |
overlay | \n是否显示遮罩层 | \nBoolean | \ntrue | \n\n |
closeOnClickOverlay | \n遮罩层点击时,是否触发关闭事件 | \nBoolean | \ntrue | \n\n |
type | \n弹出层动画方式, 可选center , left , right , top , bottom | \nString | \ncenter | \n\n |
事件名 | \n说明 | \n参数 | \n
---|---|---|
click-overlay | \n遮罩层点击触发 | \n\n |
close | \n遮罩层关闭时触发 | \n\n |
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-radio\": \"/packages/radio/index\"\n }\n}\n
\nitems: [\n {name: 'USA', value: '美国'},\n {name: 'BRA', value: '巴西', disabled: true },\n {name: 'CHN', value: '中国', checked: 'true'}\n]\n
\n<zan-radio items=\"{{ items }}\"></zan-radio>\n
\n<zan-radio items=\"{{ items }}\"></zan-radio>\n
\nPage({\n data: {\n items: [\n {name: 'USA', value: '美国'},\n {name: 'BRA', value: '巴西', disabled: true },\n {name: 'CHN', value: '中国', checked: 'true'}\n ]\n }\n})\n
\n<zan-radio\n items=\"{{ items }}\"\n radio-color=\"radio-color\"\n radio-class=\"radio-demo\"\n></zan-radio>\n
\n.radio-demo {\n font-size: 12px ;\n}\n\n.radio-color {\n color: red ;\n}\n
\n<zan-panel title='事件'>\n <zan-radio\n items=\"{{ items }}\"\n bind:change=\"handleRadioChange\"\n ></zan-radio>\n</zan-panel>\n
\nPage({\n handleRadioChange: function(e) {\n console.log('radio发生change事件,携带value值为:', e.detail)\n }\n})\n
\n<zan-radio items=\"{{ items }}\" type=\"list\"></zan-radio>\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
items | \n单选数组 | \nArray | \n[] | \n- | \n
type | \n显示类型: list | \nString | \n- | \n\n |
radio-class | \nradio样式类 | \nString | \n- | \n\n |
radio-color | \nradio选中颜色 | \nString | \n#06bf04 | \n\n |
事件名称 | \n说明 | \n回调参数 | \n
---|---|---|
change | \n数值改变时触发 | \nevent | \n
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-row\": \"path/to/zanui-weapp/dist/row/index\",\n \"zan-col\": \"path/to/zanui-weapp/dist/col/index\"\n }\n}\n
\nLayout 组件提供了24列栅格,设置 col 属性可以设置元素所占宽度
\n<zan-row>\n <zan-col col=\"8\" col-class=\"custom-zan-col\">span: 8</zan-col>\n <zan-col col=\"8\" col-class=\"custom-zan-col\">span: 8</zan-col>\n <zan-col col=\"8\" col-class=\"custom-zan-col\">span: 8</zan-col>\n</zan-row>\n
\nLayout 提供了 offset 功能。设置 offset 属性可以设置列的偏移宽度,计算方式与 span 相同
\n<zan-row row-class=\"custom-zan-row\">\n <zan-col col=\"4\" col-class=\"custom-zan-col\">span: 4</zan-col>\n <zan-col col=\"10\" offset=\"4\" col-class=\"custom-zan-col\">offset: 4, span: 10</zan-col>\n</zan-row>\n<zan-row>\n <zan-col col=\"12\" offset=\"12\" col-class=\"custom-zan-col\">offset: 12, span: 12</zan-col>\n</zan-row>\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n
---|---|---|---|
row-class | \n自定义row class | \nString | \n- | \n
参数 | \n说明 | \n类型 | \n默认值 | \n
---|---|---|---|
col-class | \n自定义col class | \nString | \n- | \n
col | \n元素所占宽度 | \nNumber | \n0 | \n
offset | \n元素偏移宽度 | \nNumber | \n0 | \n
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-search\": \"/packages/search/index\"\n }\n}\n
\n<zan-search\n placeholder=\"搜索...\"\n keyword=\"{{ inputValue }}\"\n placeholder=\"搜索商品\"\n focus=\"{{ focus }}\"\n bindchange=\"searchChange\"\n bindsearch=\"searchDone\"\n/>\n
\ndata: {\n inputValue: '',\n focus: true\n},\nsearchChange(e) {\n this.setData({\n inputValue: e.detail.value\n });\n},\n\nsearchDone(e) {\n console.log('search', e.detail.value)\n}\n
\n名称 | \n类型 | \n是否必须 | \n默认 | \n描述 | \n
---|---|---|---|---|
keyword | \nString | \n否 | \n无 | \n默认搜索关键字 | \n
disabled | \nBoolean | \n否 | \nfalse | \n是否禁用 | \n
focus | \nBoolean | \n否 | \nfalse | \n是否获取焦点 | \n
useCancel | \nBoolean | \n否 | \nfalse | \n是否显示取消按钮 | \n
cancelText | \nString | \n否 | \n取消 | \n取消按钮文字 | \n
placeholder | \nString | \n否 | \n无 | \n输入框占位字符串 | \n
cancelStyle | \nString | \n否 | \n无 | \n“取消”的样式 | \n
inputStyle | \nString | \n否 | \n无 | \n“输入框”的样式 | \n
searchStyle | \nString | \n否 | \n无 | \n“整个搜索”的样式 | \n
名称 | \n类型 | \n是否必须 | \n默认 | \n描述 | \n
---|---|---|---|---|
bindcancel | \nEventHandle | \n否 | \n无 | \n取消按钮点击时触发 | \n
bindsearch | \nEventHandle | \n否 | \n无 | \n键盘点击确认时触发 | \n
bindchange | \nEventHandle | \n否 | \n无 | \n内容改变时触发 | \n
bindblur | \nEventHandle | \n否 | \n无 | \n焦点丢失时触发 | \n
bindfocus | \nEventHandle | \n否 | \n无 | \n焦点聚焦时触发 | \n
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-select\": \"path/to/zanui-weapp/dist/select/index\"\n }\n}\n
\n<zan-select\n items=\"{{ items }}\"\n checkedValue=\"{{ checkedValue }}\"\n activeColor=\"{{ activeColor }}\"\n bind:change=\"handleSelectChange\"\n/>\n
\nPage({\n data: {\n items: [\n {\n value: '1',\n // 选项文案\n name: '选项一',\n },\n {\n value: '2',\n name: '选项二',\n },\n ],\n checkedValue: '1',\n activeColor: '#ff4443'\n },\n\n methods: {\n handleSelectChange({ detail }) {\n console.log(detail);\n }\n }\n});\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
items | \nselect 显示各个项的配置 | \nArray | \n- | \n\n |
checkedValue | \n高亮的 item 的 value 值 | \nString | \n- | \n\n |
activeColor | \nSelect 高亮颜色 | \nString | \n#ff4444 | \n\n |
items 具体格式如下
\n{\n items: [\n {\n // 选项选中时,代表的选中值。会以此作为唯一值,判断是否选中\n value: '1',\n // 选项的文字描述\n name: '选项一',\n },\n {\n value: '2',\n name: '选项二',\n },\n ]\n}\n
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-stepper\": \"path/to/zanui-weapp/dist/stepper/index\"\n }\n}\n
\nStepper
组件通过传入的 stepper 对象控制,内部数据格式如下:
Page({\n data: {\n stepper: {\n // 当前 stepper 数字\n stepper: 1,\n // 最小可到的数字\n min: 1,\n // 最大可到的数字\n max: 1,\n // 尺寸\n size: 'small'\n }\n },\n\n handleZanStepperChange({\n // stepper 代表操作后,应该要展示的数字,需要设置到数据对象里,才会更新页面展示\n detail: stepper\n }) {\n this.setData({\n 'stepper.stepper': stepper\n });\n }\n});\n
\n当一个 Stepper
中,min 超过 max,就会导致组件被置灰。
当 stepper 被点击时,需要监听change
事件,处理计数器值的改变。
<zan-stepper\n stepper=\"{{ stepper.stepper }}\"\n min=\"{{ stepper.min }}\"\n max=\"{{ stepper.max }}\"\n bind:change=\"handleZanStepperChange\"\n>\n</zan-stepper>\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
size | \n计数器尺寸:small、middle、large | \nString | \nmiddle | \n\n |
stepper | \n计数器的值 | \nNumber | \n1 | \n必须 | \n
min | \n计数器最小值 | \nNumber | \n1 | \n\n |
max | \n计数器最大值 | \nNumber | \n无穷大 | \n\n |
step | \n步数 | \nNumber | \n1 | \n\n |
事件名称 | \n说明 | \n回调参数 | \n
---|---|---|
change | \n当绑定值变化时触发的事件 | \n{ index, stepper } | \n
minus | \n点击减少按钮时触发 | \n- | \n
plus | \n点击增加按钮时触发 | \n- | \n
在 app.wxss 中引入组件库所有样式
\n@import \"path/to/zanui-weapp/dist/index.wxss\";\n
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-steps\": \"path/to/zanui-weapp/dist/steps/index\"\n }\n}\n
\n<zan-steps type=\"horizon\" steps=\"{{steps}}\"></zan-steps>\n
\n<zan-steps type=\"horizon\" steps=\"{{steps}}\"></zan-steps>\n
\nsteps: [\n {\n done: true,\n current: false,\n text: '步骤一',\n desc: '10.01'\n },\n {\n done: false,\n current: true,\n text: '步骤二',\n desc: '10.02'\n }\n]\n
\n<zan-steps type=\"horizon\" hasDesc steps=\"{{steps}}\"></zan-steps>\n
\n<zan-steps type=\"vertical\" steps=\"{{steps}}\"></zan-steps>\n
\n<zan-steps\n steps-class=\"my-class\"\n icon-class=\"gray\"\n title-class=\"white\"\n type=\"horizon\"\n steps=\"{{steps}}\"\n></zan-steps>\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
type | \nsteps 的展示状态,可选值为 'horizon', 'vertical' | \nString | \nhorizon | \n\n |
hasDesc | \n是否展示描述 | \nBoolean | \nfalse | \n\n |
steps | \n步骤条展示数据 | \nArray | \n\n | 必须 | \n
steps-class | \n自定义类,可改变steps外层样式 | \nString | \n\n | \n |
icon-class | \n自定义类,可改变icon样式 | \nString | \n\n | \n |
title-class | \n自定义类,可改变标题样式 | \nString | \n\n | \n |
desc-class | \n自定义类,可改变描述样式 | \nString | \n\n | \n |
steps 数据格式如下:
\n[\n {\n // 此步骤是否当前完成状态\n current: false,\n // 此步骤是否已经完成\n done: true,\n // 此步骤显示文案\n text: '步骤一',\n // 此步骤描述语\n desc: '10.01'\n },\n {\n done: true,\n current: false,\n text: '步骤二',\n desc: '10.02'\n },\n {\n done: true,\n current: true,\n text: '步骤三',\n desc: '10.03'\n }\n]\n
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-switch\": \"path/to/zanui-weapp/dist/switch/index\"\n }\n}\n
\n可以在页面任意位置上使用 zan-switch 标签。
\n<zan-switch\n disabled=\"{{ disabled }}\"\n checked=\"{{ checked }}\"\n loading=\"{{ loading }}\"\n bind:change=\"handleFieldChange\"\n></zan-switch>\n
\nPage({\n data: {\n disabled: false,\n checked: false,\n loading: false\n },\n\n methods: {\n handleFieldChange(event, data) {\n console.log(event, data);\n }\n }\n});\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
loading | \nswitch 是否是 loading 状态 | \nBoolean | \nfalse | \n\n |
disabled | \n是否不可用 | \nBoolean | \nfalse | \n\n |
checked | \n是否打开状态 | \nBoolean | \nfalse | \n必须 | \n
事件名称 | \n说明 | \n回调参数 | \n
---|---|---|
change | \n当绑定值变化时触发的事件 | \nevent对象和数据对象(包含loading和checked) | \n
类名 | \n说明 | \n
---|---|
custom-class | \n根节点自定义样式类,通过这个可以改变根节点上的样式 | \n
theme-class | \n根节点自定义样式类,用于更改根节点上的主题样式 | \n
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-tab\": \"path/to/zanui-weapp/dist/tab/index\"\n }\n}\n
\n在 index.js 中声明组件数据
\n// 在 Page 中声明 Tab 依赖的展示数据\nPage({\n data: {\n list: [{\n id: 'xxx',\n title: 'xxx'\n }],\n selectedId: 'xxx',\n ...\n }\n})\n
\n可以在任意位置上使用 zan-tab 标签。传入对应的数据即可。
\n<zan-tab\n scroll=\"{{ scroll }}\"\n list=\"{{ list }}\"\n selected-id=\"{{ selectedId }}\"\n height=\"{{ height }}\"\n fixed=\"{{ fixed }}\"\n bindtabchange=\"handleTabChange\"\n/>\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
scroll | \n是否开启 tab 左右滑动模式 | \nBoolean | \n- | \n\n |
list | \n可选项列表 | \nArray | \n- | \n\n |
selectedId | \n选中id | \n- | \n- | \n\n |
height | \ntab高度 | \nNumber | \n- | \n\n |
fixed | \n是否固定位置 | \nBoolean | \n- | \n\n |
tab 组件中,list 数据格式如下
\n[{\n // tab 项 id\n id: 'all',\n // tab 项展示文案\n title: '全部'\n}, {\n id: 'topay',\n title: '待付款'\n}, {\n id: 'tosend',\n title: '待发货'\n}, {\n id: 'send',\n title: '待收货'\n}, {\n id: 'sign',\n title: '已完成'\n}]\n
\n可以监听 bindtabchange 事件回调,在页面注册回调函数
\nPage({\n customCallback(selectedId) {\n // selectId 表示被选中 tab 项的 id\n }\n}));\n
\n在 json 文件中配置tag组件
\n\"usingComponents\": {\n \"zan-tag\": \"path/to/zanui-weapp/dist/tag/index\"\n}\n
\n<zan-tag>取消订单</zan-tag>\n
\ntag支持额外的三种类型 primary, danger, warn
\n<zan-tag type=\"primary\">会员折扣</zan-tag>\n<zan-tag type=\"danger\">返现</zan-tag>\n<zan-tag type=\"warn\">返现</zan-tag>\n
\ntag镂空状态
\n<zan-tag plain>返现</zan-tag>\n
\ntag禁用状态
\n<zan-tag disabled>不可用</zan-tag>\n
\n名称 | \n类型 | \n是否必须 | \n默认 | \n描述 | \n
---|---|---|---|---|
type | \nString | \n否 | \n空 | \ntag类型,值有primary、warn、danger | \n
plain | \nBoolean | \n否 | \nfalse | \n\btag是否镂空,默认为false | \n
disabled | \nBoolean | \n否 | \nfalse | \ntag是否禁用,默认为false | \n
类名 | \n说明 | \n
---|---|
custom-class | \n根节点自定义样式类,通过这个可以改变根节点上的样式 | \n
theme-class | \n根节点自定义样式类,用于更改根节点上的主题样式 | \n
在 json 文件中配置 toast 组件
\n\"usingComponents\": {\n \"zan-toast\": \"/path/to/zanui-weapp/dist/toast/index\"\n}\n
\n在需要使用的页面里引入组件库模板和脚本
\n<zan-toast id=\"zan-toast-test\"></zan-toast>\n
\nconst Toast = require('path/to/zanui-weapp/dist/toast/toast');\n\nPage({\n // ...\n // 可以在任意方法里直接调用,即可唤起\n handleClick() {\n Toast({\n message: 'toast me',\n selector: '#zan-toast-test'\n });\n }\n});\n
\nToast.loading({\n selector: '#zan-toast-test'\n});\n
\n方法名 | \n参数 | \n返回值 | \n介绍 | \n
---|---|---|---|
Toast | \noptions , timeout | \n- | \n展示提示 | \n
Toast.loading | \noptions | \n- | \n展示加载提示 | \n
Toast.clear | \n- | \n- | \n关闭提示 | \n
Toast.setDefaultOptions | \noptions 格式同 Toast 函数可以传入的参数, type 可选 global/page, 分别指定对整个小程序生效/对当前页面生效 | \n- | \n修改默认配置,对所有 Toast 生效 | \n
Toast.resetDefaultOptions | \ntype 可选 global/page | \n- | \n重置默认配置,对所有 Toast 生效 | \n
参数 | \n说明 | \n类型 | \n默认值 | \n
---|---|---|---|
message | \ntoast 显示文案 | \nString | \n- | \n
type | \n提示类型, 可选值:loading,success,fail | \nString | \n- | \n
icon | \ntoast 显示图标,可以用 icon 里面支持的所有图标 | \nString | \n- | \n
image | \ntoast 显示图标,为图片的链接,传入此值后会覆盖 icon 值 | \nString | \n- | \n
timeout | \ntoast 显示时间,小于0则会一直显示,需要手动调用 Toast.clear 清除 | \nNumber | \n- | \n
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-toptips\": \"path/to/zanui-weapp/dist/toptips/index\"\n }\n}\n
\n在 index.js 中声明组件数据
\ntoptips提供了声明式和命令式2种调用方式,但是由于小程序本身限制,会有一定使用的要求
\n// 使用声明式调用的方式, 必须在Page中声明 $zanui对象, 结构如下\n// 同时在其他触发toptips显示的函数中,需要手动改变对应的数值\nPage({\n data: {\n duration: 1000,\n content: 'xxx',\n $zanui: {\n toptips: {\n show: false\n }\n }\n }\n})\n\n// 使用命令式调用的方式,必须在 wxml 模板中声明组件id,\n// 默认我们使用了 zan-toptips, 如果使用者要更换,可以手动传入\n// 注意和 usingComponents 里引用的路径不一样\nconst Toptips = require('path/to/zanui-weapp/dist/toptips/toptips');\nPage({\n customCallback() {\n Toptips('只传文案展示');\n }\n})\n\n
\n使用声明式调用
\nPage({\n data: {\n duration: 1000,\n content: 'xxx',\n $zanui: {\n toptips: {\n show: false\n }\n }\n },\n\n customCallback() {\n this.setData({\n $zanui: {\n toptips: {\n show: true\n }\n }\n });\n\n setTimeout(() => {\n this.setData({\n $zanui: {\n toptips: {\n show: false\n }\n }\n })\n }, this.data.duration);\n }\n})\n
\n<zan-toptips\n content=\"tip内容\"\n duration=\"{{ duration }}\"\n is-show=\"{{ $zanui.toptips.show }}\"\n/>\n
\nPage({\n customCallback() {\n Toptips('我只改文案')\n }\n})\n
\n<zan-toptips\n id=\"zan-toptips\"\n contetn=\"{{ content }}\"\n/>\n
\nPage({\n customCallback() {\n Toptips({\n content: '传入其他参数',\n selector: '#other-id',\n duration: 5000\n })\n }\n})\n
\n<zan-toptips\n id=\"other-id\"\n contetn=\"{{ content }}\"\n/>\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n可选值 | \n
---|---|---|---|---|
content | \n展示文案 | \nString | \n- | \n\n |
duration | \n弹层持续时间 | \nNumber | \n3000 | \n\n |
isShow | \n弹层是否展示 | \nBoolean | \nfalse | \n\n |
color | \n字体颜色 | \nString | \n#fff | \n\n |
backgroundColor | \n提示背景色 | \nString | \n#e64340 | \n
在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-tree-select\": \"path/to/zanui-weapp/dist/tree-select/index\"\n }\n}\n
\n可以在任意位置上使用 zan-tree-select 标签。传入对应的数据即可。
\n<zan-tree-select\n items=\"{{ items }}\"\n main-active-index=\"{{ mainActiveIndex }}\"\n active-id=\"{{ activeId }}\"\n bind:navclick=\"handleNavClick\"\n bind:itemclick=\"handleItemClick\"\n/>\n
\nPage({\n data: {\n // ...\n },\n\n handleNavClick({ detail = {} }) {\n this.setData({\n mainActiveIndex: detail.index || 0\n });\n },\n\n handleItemClick({ detail = {} }) {\n this.setData({\n activeId: detail.id\n });\n }\n});\n
\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
---|---|---|---|---|
items | \n分类显示所需的数据,具体数据结构可看 数据结构 | \nArray | \n[] | \n\n |
main-active-index | \n左侧导航高亮的索引 | \nNumber | \n0 | \n\n |
active-id | \n右侧选择项,高亮的数据id | \nString | \nNumber | \n0 | \n
事件名称 | \n说明 | \n回调参数 | \n
---|---|---|
navclick | \n左侧导航点击时,触发的事件 | \nindex:被点击的导航的索引 | \n
itemclick | \n右侧选择项被点击时,会触发的事件 | \ndata: 该点击项的数据 | \n
items
整体为一个数组,数组内包含一系列描述分类的 object。
每个分类里,text表示当前分类的名称。children 表示分类里的可选项,为数组结构,id被用来唯一标识每个选项
\n[\n {\n // 导航名称\n text: '所有城市',\n // 该导航下所有的可选项\n children: [\n {\n // 可选项的名称\n text: '温州',\n // 可选项的id,高亮的时候是根据id是否和选中的id是否相同进行判断的\n id: 1002\n },\n {\n // 可选项的名称\n text: '杭州',\n // 可选项的id,高亮的时候是根据id是否和选中的id是否相同进行判断的\n id: 1001\n }\n ]\n }\n]\n
\n