一、view - 视图容器
1.属性容器
hover-class 指定按下去的样式类。当 hover-class="none" 时,没有点击态效果 默认none
hover-stop-propagation 指定是否阻止本节点的祖先节点出现点击态 默认false
hover-start-time 按住后多久出现点击态,单位毫秒 默认50
hover-stay-time 手指松开后点击态保留时间,单位毫秒 默认400
2.如果需要使用滚动视图,请使用 scroll-view
二、scroll-view - 可滚动视图区域
1.属性列表
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
scroll-x | Boolean | false | 允许横向滚动 |
scroll-y | false | ||
upper-threshold | Number | 50 | 距顶部/左边多远时(单位px),触发 scrolltoupper 事件 |
lower-threshold | 50 | 距底部/右边多远时(单位px),触发 scrolltolower 事件 | |
scroll-top | 设置竖向滚动条位置 | ||
scroll-left | 设置横向滚动条位置 | ||
scroll-into-view | 值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素 | ||
scroll-with-animation | false | 在设置滚动条位置时使用动画过渡 | |
enable-back-to-top | iOS点击顶部状态栏、安卓双击标题栏时,滚动条返回顶部,只支持竖向 | ||
bindscrolltoupper | 滚动到顶部/左边,会触发 scrolltoupper 事件 | ||
bindscrolltolower | 滚动到底部/右边,会触发 scrolltolower 事件 | ||
bindscroll | 滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY} |
2.tips
使用竖向滚动时,需要给<scroll-view/>一个固定高度,通过 WXSS 设置 height;
请勿在 scroll-view 中使用 textarea、map、canvas、video 组件;
scroll-into-view 的优先级高于 scroll-top;
在滚动 scroll-view 时会阻止页面回弹,所以在 scroll-view 中滚动,是无法触发 onPullDownRefresh;
若要使用下拉刷新,请使用页面的滚动,而不是 scroll-view ,这样也能通过点击顶部状态栏回到页面顶部;
3.eg
三、swiper - 滑块视图容器
1.swiper属性
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
indicator-dots | Boolean | false | 是否显示面板指示点 |
indicator-color | Color | rgba(0,0,0,0.3) | 指示点颜色 |
indicator-active-color | Color | #000000 | 当前选中的指示点颜色 |
autoplay | Boolean | false | 是否自动切换 |
current | Number | 0 | 当前所在滑块的index |
current-item-id | String | ‘’ | 当前所在滑块的 item-id ,不能与 current 被同时指定 |
interval | Number | 5000 | 自动切换时间间隔 |
duration | Number | 500 | 滑动动画时长 |
circular | Boolean | false | 是否采用衔接滑动 |
vertical | Boolean | false | 滑动方向是否为纵向 |
previous-margin | String | 0px | 前边距,可用于露出前一项的一小部分,接受 px 和 rpx 值 |
next-margin | String | 0px | 后边距,可用于露出后一项的一小部分,接受 px 和 rpx 值 |
display-multiple-tiems | Number | 1 | 同时显示的滑块数量 |
skip-hidden-item-layout | Boolean | false | 是否跳过未显示的滑块布局,设为 true 可优化复杂情况下的滑动性能,但会丢失隐藏状态滑块的布局信息 |
bindchange | EventHandle | current 改变时会触发 change 事件,event.detail = {current: current, source: source} | |
bindanimationfinish | EventHandle | 动画结束时会触发 animationfinish 事件,event.detail 同上 |
2.swiper-item
仅可放置在<swiper/>组件中,宽高自动设置为100%;
item-id 该 swiper-item 的标识符 String 默认''
3.tips:
如果在 bindchange 的事件回调函数中使用 setData 改变 current 值,则有可能导致 setData 被不停地调用,因而通常情况下请在改变 current 值前检测 source 字段来判断是否是由于用户触摸引起;
4.eg:
home.wxml
<!-- home banner -->
<swiper indicator-dots='true' autoplay='true' circular='true'>
<block wx:for="{{banners}}">
<swiper-item>
<image class="banner-image" style="width:100%;height:{{wx.getSystemInfoSync().windowWidth * 500 / 750}}" src="{{item}}" />
</swiper-item>
</block>
</swiper>
home.js
data: {
banners:[
'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg',
'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg',
'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'
]
},
四、movable-view - 可移动的视图容器,在页面中可以拖拽滑动
movable-view 必须设置width和height属性,不设置默认为10px;
movable-view 默认为绝对定位,top和left属性为0px;
当movable-view小于movable-area时,movable-view的移动范围是在movable-area内;当movable-view大于movable-area时,movable-view的移动范围必须包含movable-area(x轴方向和y轴方向分开考虑);
注意:movable-view必须在<movable-area/>组件中,并且必须是直接子节点,否则不能移动;
五、cover-view
1.cover-view
覆盖在原生组件之上的文本视图,可覆盖的原生组件包括map、video、canvas、camera、live-player、live-pusher,只支持嵌套cover-view、cover-image;
2.cover-image
覆盖在原生组件之上的图片视图,可覆盖的原生组件同cover-view,支持嵌套在cover-view里
参考资料:
1.基础组件
2.W3C-小程序开发文档