小程序瀑布流组件
// property名必须为item
properties: {
item: {
type: Object
}
}
// index.json
"usingComponents": {
"masonry": "../../components/masonry/masonry",
"img-box": "../../components/img-box/img-box"
}
<!-- index.wxml -->
<masonry generic:masonry-item="img-box" id="masonry" interval-width="20rpx"></masonry>
generic:masonry-item
用于指定业务组件,interval-width
为左右两列空隙宽度。
_doStartMasonry(items) {
// 通过ID,获取组件实例
this.masonryListComponent = this.selectComponent('#masonry');
// 调用组件的start函数,渲染瀑布流
this.masonryListComponent.start(items).then(() => {
console.log('render completed')
})
}
为保证页面显示效果,建议一次渲染不超过100个元素。
函数名 | 函数功能 | 参数说明 | 返回值 |
---|---|---|---|
append | 批量添加元素 | {Array} items - 新增的元素数组 | Promise |
delete | 批量删除瀑布流中的元素 | {Number} start - 开始下标 {Number} end - 结束下标 |
无 |
deleteItem | 删除瀑布流中的某个元素 | {Number} index - 数组下标 | 无 |
start | 启动组件,开始渲染瀑布流 | {Array} items - 参与渲染的元素数组 | Promise |
stop | 停止渲染瀑布流,清空数据 | 无 | 无 |
updateItem | 更新渲染数组中的某个元素 | {Object} newItem - 修改后的元素 {Number} index - 需要更新的数组下标 |
无 |