-
基本组件介绍
-
什么是组件
- 组件是视图层的基本组成单元。
- 组件自带一些功能与微信风格的样式。
- 一个组件通常包括开始标签和结束标签,属性用来修饰这个组件,内容在两个标签之内。
-
参考网站
- https://weui.io/
-
注意
- 所有组件与属性都是小写,以连字符-连接
-
属性类型
- Boolean 布尔值 组件写上该属性,不管该属性等于什么,其值都为true,只有组件上没有写该属性时,属性值才为false。如果属性值为变量,变量的值会被转换为Boolean类型
- Number 数字 1, 2.5
- String 字符串 "string"
- Array 数组 [ 1, "string" ]
- Object 对象 { key: value }
- EventHandler 事件处理函数名 "handlerName" 是 Page中定义的事件处理函数名
- Any 任意属性
-
共同属性类型
- id String 组件的唯一标示 保持整个页面唯一
- class String 组件的样式类 在对应的 WXSS 中定义的样式类
- style String 组件的内联样式 可以动态设置的内联样式
- hidden Boolean 组件是否显示 所有组件默认显示
- data-* Any 自定义属性 组件上触发的事件时,会发送给事件处理函数
- bind* / catch* EventHandler 组件的事件 详见事件
-
特殊属性
- 几乎所有组件都有各自定义的属性,可以对该组件的功能或样式进行修饰,请参考各个组件的定义。
-
组件列表
-
视图容器(View Container)
-
view 视图容器
- hover Boolean false 是否启用点击态
- hover-class String none 指定按下去的样式类。当 hover-class="none" 时,没有点击态效果
- hover-start-time Number 50 按住后多久出现点击态,单位毫秒
- hover-stay-time Number 400 手指松开后点击态保留时间,单位毫秒
-
scroll-view 可滚动视图容器
- scroll-x Boolean false 允许横向滚动
- scroll-y Boolean false 允许纵向滚动
- upper-threshold Number 50 距顶部/左边多远时(单位px),触发 scrolltoupper 事件
- lower-threshold Number 50 距底部/右边多远时(单位px),触发 scrolltolower 事件
- scroll-top Number 设置竖向滚动条位置
- scroll-left Number 设置横向滚动条位置
- scroll-into-view String 值应为某子元素id(id不能以数字开头),则滚动到该元素,元素顶部对齐滚动区域顶部,只支持纵向滚动
- scroll-with-animation Boolean false 在设置滚动条位置时使用动画过渡
- enable-back-to-top Boolean false iOS点击顶部状态栏、安卓双击标题栏时,滚动条返回顶部,只支持竖向
- bindscrolltoupper EventHandle 滚动到顶部/左边,会触发 scrolltoupper 事件
- bindscrolltolower EventHandle 滚动到底部/右边,会触发 scrolltolower 事件
- bindscroll EventHandle 滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY}
-
swiper 滑块视图容器
- indicator-dots Boolean false 是否显示面板指示点
- indicator-color Color rgba(0, 0, 0, .3) 指示点颜色
- indicator-active-color Color #000000 当前选中的指示点颜色
- autoplay Boolean false 是否自动切换
- current Number 0 当前所在页面的 index
- interval Number 5000 自动切换时间间隔
- duration Number 500 滑动动画时长
- circular Boolean false 是否采用衔接滑动
- bindchange EventHandle current 改变时会触发 change 事件,event.detail = {current: current}
-
基础内容(Basic Content)
-
icon 图标
- type String icon的类型,有效值:success, success_no_circle, info, warn, waiting, cancel, download, search, clear
- size Number 23 icon的大小,单位px
- color Color icon的颜色,同css的color
-
text 文字
- selectable Boolean false 文本是否可选
-
progress 进度条
- percent Float 无 百分比0~100
- show-info Boolean false 在进度条右侧显示百分比
- stroke-width Number 6 进度条线的宽度,单位px
- color Color #09BB07 进度条颜色 (请使用 activeColor)
- activeColor Color 已选择的进度条的颜色
- backgroundColor Color 未选择的进度条的颜色
- active Boolean false 进度条从左往右的动画
-
表单(Form)
-
button 按钮
- size String default 有效值 default, mini
- type String default 按钮的样式类型,有效值 primary, default, warn
- plain Boolean false 按钮是否镂空,背景色透明
- disabled Boolean false 是否禁用
- loading Boolean false 名称前是否带 loading 图标
- form-type String 无 有效值:submit, reset,用于 <form/> 组件,点击分别会触发 submit/reset 事件
- open-type String 无 有效值:contact,打开客服会话
- hover-class String button-hover 指定按钮按下去的样式类。当 hover-class="none" 时,没有点击态效果
- hover-start-time Number 20 按住后多久出现点击态,单位毫秒
- hover-stay-time Number 70 手指松开后点击态保留时间,单位毫秒
-
form 表单
- report-submit Boolean 是否返回 formId 用于发送模板消息
- bindsubmit EventHandle 携带 form 中的数据触发 submit 事件,event.detail = {value : {'name': 'value'} , formId: ''}
- bindreset EventHandle 表单重置时会触发 reset 事件
-
input 输入框
- value String 输入框的初始内容
- type String "text" input 的类型,有效值:"text", "number", "idcard", "digit"
- password Boolean false 是否是密码类型
- placeholder String 输入框为空时占位符
- placeholder-style String 指定 placeholder 的样式
- placeholder-class String "input-placeholder" 指定 placeholder 的样式类
- disabled Boolean false 是否禁用
- maxlength Number 140 最大输入长度,设置为 -1 的时候不限制最大长度
- cursor-spacing Number 0 指定光标与键盘的距离,单位 px 。取 input 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离
- auto-focus Boolean false (即将废弃,请直接使用 focus )自动聚焦,拉起键盘
- focus Boolean false 获取焦点
- confirm-type String "done" 设置键盘右下角按钮的文字,有效值: "send","search","next","go","done"
- confirm-hold Boolean false 点击键盘右下角按钮时是否保持键盘不收起
- bindinput EventHandle 当键盘输入时,触发input事件,event.detail = {value: value},处理函数可以直接 return 一个字符串,将替换输入框的内容。
- bindfocus EventHandle 输入框聚焦时触发,event.detail = {value: value}
- bindblur EventHandle 输入框失去焦点时触发,event.detail = {value: value}
- bindconfirm EventHandle 点击完成按钮时触发,event.detail = {value: value}
-
checkbox 多项选择器
- bindchange EventHandle <checkbox-group/>中选中项发生改变是触发 change 事件,detail = {value:[选中的checkbox的value的数组]}
-
radio 单项选择器
-
radio-group
- bindchange EventHandle <radio-group/> 中的选中项发生变化时触发 change 事件,event.detail = {value: 选中项radio的value}
- value String <radio/> 标识。当该<radio/> 选中时,<radio-group/> 的 change 事件会携带<radio/>的value
- checked Boolean false 当前是否选中
- disabled Boolean false 是否禁用
- color Color radio的颜色,同css的color
-
picker 列表选择器
-
普通选择器:mode = selector
- range Array / Object Array [] mode为 selector 时,range 有效
- range-key String 当 range 是一个 Object Array 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容
- value Number 0 value 的值表示表示选择了 range 中的第几个(下标从 0 开始)。
- bindchange EventHandle value 改变时触发 change 事件,event.detail = {value: value}
- disabled Boolean false 是否禁用
-
时间选择器:mode = time
- value String 表示选中的时间,格式为"hh:mm"
- start String 表示有效时间范围的开始,字符串格式为"hh:mm"
- end String 表示有效时间范围的结束,字符串格式为"hh:mm"
- bindchange EventHandle value 改变时触发 change 事件,event.detail = {value: value}
- disabled Boolean false 是否禁用
-
日期选择器:mode = date
- value String 0 表示选中的日期,格式为"YYYY-MM-DD"
- start String 表示有效日期范围的开始,字符串格式为"YYYY-MM-DD"
- end String 表示有效日期范围的结束,字符串格式为"YYYY-MM-DD"
- fields String day 有效值 year,month,day,表示选择器的粒度
- bindchange EventHandle value 改变时触发 change 事件,event.detail = {value: value}
- disabled Boolean false 是否禁用
-
picker-view 内嵌列表选择器
- value Number Array 数组中的数字依次表示 picker-view 内的 picker-view-colume 选择的第几项(下标从 0 开始),数字大于 picker-view-column 可选项长度时,选择最后一项。
- indicator-style String 设置选择器中间选中框的样式
- indicator-class String 设置选择器中间选中框的类名
- bindchange EventHandle 当滚动选择,value 改变时触发 change 事件,event.detail = {value: value};value为数组,表示 picker-view 内的 picker-view-column 当前选择的是第几项(下标从 0 开始)
-
slider 滚动选择器
- min Number 0 最小值
- max Number 100 最大值
- step Number 1 步长,取值必须大于 0,并且可被(max - min)整除
- disabled Boolean false 是否禁用
- value Number 0 当前取值
- color Color #e9e9e9 背景条的颜色(请使用 backgroundColor)
- selected-color Color #1aad19 已选择的颜色(请使用 activeColor)
- activeColor Color #1aad19 已选择的颜色
- backgroundColor Color #e9e9e9 背景条的颜色
- show-value Boolean false 是否显示当前 value
- bindchange EventHandle 完成一次拖动后触发的事件,event.detail = {value: value}
-
switch 开关选择器
- checked Boolean false 是否选中
- type String switch 样式,有效值:switch, checkbox
- bindchange EventHandle checked 改变时触发 change 事件,event.detail={ value:checked}
- color Color switch 的颜色,同 css 的 color
-
label 标签
- for String 绑定控件的 id
-
textarea 多行输入框
- value String 输入框的内容
- placeholder String 输入框为空时占位符
- placeholder-style String 指定 placeholder 的样式
- placeholder-class String textarea-placeholder 指定 placeholder 的样式类
- disabled Boolean false 是否禁用
- maxlength Number 140 最大输入长度,设置为 -1 的时候不限制最大长度
- auto-focus Boolean false 自动聚焦,拉起键盘。
- focus Boolean false 获取焦点
- auto-height Boolean false 是否自动增高,设置auto-height时,style.height不生效
- fixed Boolean false 如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true
- cursor-spacing Number 0 指定光标与键盘的距离,单位 px 。取 textarea 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离
- bindfocus EventHandle 输入框聚焦时触发,event.detail = {value: value}
- bindblur EventHandle 输入框失去焦点时触发,event.detail = {value: value}
- bindlinechange EventHandle 输入框行数变化时调用,event.detail = {height: 0, heightRpx: 0, lineCount: 0}
- bindinput EventHandle 当键盘输入时,触发 input 事件,event.detail = {value: value}, bindinput 处理函数的返回值并不会反映到 textarea 上
- bindconfirm EventHandle 点击完成时, 触发 confirm 事件,event.detail = {value: value}
-
导航(Navigation)
-
navigator 应用链接
- url String 应用内的跳转链接
- open-type String navigate 可选值 'navigate'、'redirect'、'switchTab'、'reLaunch','navigateBack',对应于wx.navigateTo、wx.redirectTo、wx.switchTab、wx.reLaunch、wx.navigateBack 的功能
- delta Number 当 open-type 为 'navigateBack' 时有效,表示回退的层数
- hover-class String navigator-hover 指定点击时的样式类,当hover-class="none"时,没有点击态效果
- hover-start-time Number 50 按住后多久出现点击态,单位毫秒
- hover-stay-time Number 600 手指松开后点击态保留时间,单位毫秒
-
多媒体(Media)
-
audio 音频
- id String video 组件的唯一标识符
- src String 要播放音频的资源地址
- loop Boolean false 是否循环播放
- controls Boolean true 是否显示默认控件
- poster String 默认控件上的音频封面的图片资源地址,如果 controls 属性值为 false 则设置 poster 无效
- name String 未知音频 默认控件上的音频名字,如果 controls 属性值为 false 则设置 name 无效
- author String 未知作者 默认控件上的作者名字,如果 controls 属性值为 false 则设置 author 无效
- binderror EventHandle 当发生错误时触发 error 事件,detail = {errMsg: MediaError.code}
- bindplay EventHandle 当开始/继续播放时触发play事件
- bindpause EventHandle 当暂停播放时触发 pause 事件
- bindtimeupdate EventHandle 当播放进度改变时触发 timeupdate 事件,detail = {currentTime, duration}
- bindended EventHandle 当播放到末尾时触发 ended 事件
-
image 图片
- src String 图片资源地址
- mode String 'scaleToFill' 图片裁剪、缩放的模式
- binderror HandleEvent 当错误发生时,发布到 AppService 的事件名,事件对象event.detail = {errMsg: 'something wrong'}
- bindload HandleEvent 当图片载入完毕时,发布到 AppService 的事件名,事件对象event.detail = {height:'图片高度px', width:'图片宽度px'}
-
video 视频
- src String 要播放视频的资源地址
- duration Number 指定视频时长
- controls Boolean true 是否显示默认播放控件(播放/暂停按钮、播放进度、时间)
- danmu-list Object Array 弹幕列表
- danmu-btn Boolean false 是否显示弹幕按钮,只在初始化时有效,不能动态变更
- enable-danmu Boolean false 是否展示弹幕,只在初始化时有效,不能动态变更
- autoplay Boolean false 是否自动播放
- bindplay EventHandle 当开始/继续播放时触发play事件
- bindpause EventHandle 当暂停播放时触发 pause 事件
- bindended EventHandle 当播放到末尾时触发 ended 事件
- bindtimeupdate EventHandle 播放进度变化时触发,event.detail = {currentTime: '当前播放时间'} 。触发频率应该在 250ms 一次
- objectFit String contain 当视频大小与 video 容器大小不一致时,视频的表现形式。contain:包含,fill:填充,cover:覆盖
-
地图(Map)
-
map 地图
- longitude Number 中心经度
- latitude Number 中心纬度
- scale Number 16 缩放级别,取值范围为5-18
- markers Array 标记点
- covers Array 即将移除,请使用 markers
- polyline Array 路线
- circles Array 圆
- controls Array 控件
- include-points Array 缩放视野以包含所有给定的坐标点
- show-location Boolean 显示带有方向的当前定位点
- bindmarkertap EventHandle 点击标记点时触发
- bindcontroltap EventHandle 点击控件时触发
- bindregionchange EventHandle 视野发生变化时触发
- bindtap EventHandle 点击地图时触发
-
画布(Canvas)
-
canvas 画布
- canvas-id String canvas 组件的唯一标识符
- disable-scroll Boolean false 当在 canvas 中移动时,禁止屏幕滚动以及下拉刷新
- bindtouchstart EventHandle 手指触摸动作开始
- bindtouchmove EventHandle 手指触摸后移动
- bindtouchend EventHandle 手指触摸动作结束
- bindtouchcancel EventHandle 手指触摸动作被打断,如来电提醒,弹窗
- bindlongtap EventHandle 手指长按 500ms 之后触发,触发了长按事件后进行移动不会触发屏幕的滚动
- binderror EventHandle 当发生错误时触发 error 事件,detail = {errMsg: 'something wrong'}
-
客服会话
-
contact-button 进入客服会话按钮
- size Number 18 会话按钮大小,有效值 18-27,单位:px
- type String default-dark 会话按钮的样式类型,有效值 default-dark, default-light
- session-from String 用户从该按钮进入会话时,开发者将收到带上本参数的事件推送。本参数可用于区分用户进入客服会话的来源。