本系列主要对小程序常用的组件做一个总结,方便自己及其它小程序开发者作为字典查阅和检索。
共同属性
小程序组件有一些公共属性,在每个组件中代表的意义和数据类型都是一样的。
-
id
: 标识组件的唯一性。 -
class
: 组件的样式类,在*.wxss
中定义该样式 -
style
: 组件的内联样式,动态设置的内联样式 -
hidden
: 组件是否显示,默认为false
, 即默认显示 -
data-*
: 自定义属性,组件上触发事件时,会发送给事件处理函数,可以通过dataset
获取 -
bind*
/catch*
:将组件的事件和逻辑层的处理函数进行绑定,其中bind
:冒泡事件(继续向上层分发),catch
:非冒泡事件(停止向上分发事件)
容器组件
容器组件:内部能嵌套任何标签。常用的视图容器有:view
, scroll-view
, swiper
1. view
组件
<view/>
是一个块级容器组件,任何一种复杂的布局都可以嵌套在<view/>
组件内,并在*.wxss
中设置相关样式。
<view/>
除了上述组件共有的属性外,还包含一组关于点击行为的属性。
-
hover
: 是否启动点击态,默认为false
-
hover-class
: 指定按下去的样式,默认为none
,即hover-class = "none"
,没有点击态效果 -
hover-start-time
: 按住后延迟多少毫秒出现点击态,单位:ms
, 默认为50ms
-
hover-stay-time
: 手指松开后,点击态保持事件,单位:ms
, 默认为400ms
2. scroll-view
组件
在布局中,需要容器具有可滑动的功能,且能监听滚动、触顶、触底等事件,就需要<scroll-view/>
组件,<scroll-view/>
在<view/>
组件上添加滚动相关的属性,通过这些属性,可以响应滚动相关事件。
-
scroll-x
: 允许横向滚动,默认为false
-
scroll-y
: 允许纵向滚动,默认为false
-
upper-threshold
: 触发scrolltoupper
事件时, 距顶部/左边多少距离(单位为:px
) -
lower-threshold
: 触发scrolltolower
事件时,距底部/右边多少距离(单位为:px
)
-scroll-top
: 设置竖向滚动条位置
-scroll-left
: 设置横向滚动条位置
-scroll-into-view
: 值为某子元素的id
, 该子元素滚动到顶部对齐滚动区域顶部
-bindscrolltoupper
: 滚动到顶部/左边,会触发scrolltoupper
事件
-bindscrolltolower
:滚动到底部/右边,会触发scrolltolower
事件
-bindscroll
: 滚动时触发,其中函数参数event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY}
注意:
<textarea/>
,<video/>
,<map/>
,<canvas/>
不能嵌套在<scroll-view/>
中使用
3. swiper
组件-滑块视图组件
利用swiper
组件,可以实现轮播图,滑动页面,预览图片等,一个完整的滑块视图软件由<swiper/>
和 <swiper-item/>
两个标签组成,不能单独使用。一个<swiper/>
只能嵌套一个或多个<swiper-item/>
标签,放置其它的标签会被删除,其中,<swiper-item/>
中能放置任何标签,高度默认为100%
,另外没有任何其它特殊属性。
<swiper/>
的属性如下:
-
indicator-dots
: 是否显示面板指示点,默认:false
-
autoplay
: 是否自动播放,默认:false
-
current
: 当前所在页面的index
, 默认:0
-
interval
: 自动切换时间间隔,默认:5000ms
-
duration
: 滑动动画时间间隔,默认:1000ms
-
circular
: 是否采用衔接动画播放,默认:false
-
bindchange
:current
改变时触发change
事件,回调函数参数event.detail = {current}
网友评论