Closed zzxqd closed 6 years ago
如图所示,不知道是不是我的写法有问题 wxml:
{{item.idx+1}}. {{item.title}}
js:
const createRecycleContext = require('miniprogram-recycle-view'); Component({ data:{ batchSetRecycleData:true, recycleList:[] }, attached:function(){ for(let i=0;i<100;i++){ this.data.recycleList.push({ id:i, idx:i, image_url:'http://www.w3school.com.cn/i/eg_tulip.jpg', title:
这是第${i+1}项 }) } console.log(this.data.recycleList); this.setData({ recycleList:this.data.recycleList }) const ctx = createRecycleContext({ id:'recycleId', dataKey:'recycleList', page:this, itemSize:{ width:162, height:182 } }); } })
不要通过setData({ recycleList:this.data.recycleList })来设置列表数据,而是通过ctx.append(recycleList)来设置。
for (let i = 0; i < 100; i++) {
this.data.recycleList.push({
id: i,
idx: i,
image_url: 'http://www.w3school.com.cn/i/eg_tulip.jpg',
title: `这是第${i+1}项`
})
}
const ctx = createRecycleContext({
id: 'recycleId',
dataKey: 'recycleList',
page: this,
itemSize: {
width: 162,
height: 182
}
});
ctx.append(this.data.recycleList);
不行啊,老哥,没有数据
或者老哥能发个代码片段不,我这里看着写
目录tools/demo里面有代码片段,跑npm run dev
可以在最外层生成miniprogram_dev目录,用开发者工具可以跑。
似乎还是不行
onLoad: function () {
var ctx = createRecycleContext({
id: 'recycleId',
dataKey: 'recycleList',
page: this,
itemSize: {
props: 'azFirst',
// cacheKey: 'cacheKey', // 预先缓存的key
queryClass: 'recycle-itemsize', // 动态查询的class
dataKey: 'recycleListItemSize', // 预先渲染的数据的wx:for绑定的变量
// componentClass: 'recycle-list'
},
placeholderClass: ['recycle-image', 'recycle-text'],
// itemSize: function(item) {
// return {
// width: 195,
// height: item.azFirst ? 130 : 120
// }
// },
// useInPage: true
})
let list = [];
for (let i = 0; i < 100; i++) {
list.push({
id: i,
idx: i,
image_url: 'http://www.w3school.com.cn/i/eg_tulip.jpg',
title: 这是第${i+1}项
})
}
this.ctx = ctx;
this.ctx.append(list);
}
在你的代码上通过append来增加列表还是会全部都渲染
我看你给的是56条,总数据是100条,所以没有渲染所有数据?目前是会渲染多几屏的数据的。
是的,我这里没注意,可能是我高度定的太低了,所以渲染的数据会多点,多谢老哥