let itemCount = 100 let items = [...new Array(itemCount)].map((v, i) => i) import ad from '../index/ad' ad({ data: { disableScroll: false, height: 300, itemHeight: 50, itemBuffer: 30, scrollToIndex: 0, scrollWithAnimation: false, }, onLoad() { this.updated(items) }, updated(items) { const startTime = Date.now() this.virtualList = this.virtualList || this.selectComponent('#wux-virtual-list') this.virtualList.render(items, () => { const diffTime = Date.now() - startTime console.log(`onSuccess - render time: ${diffTime}ms`) }) }, loadData(e) { if (itemCount >= 1000) return if (this.data.disableScroll) return this.setData({ disableScroll: true }) wx.showLoading() setTimeout(() => { itemCount += 100 items = [...new Array(itemCount)].map((v, i) => i) this.updated(items) this.setData({ disableScroll: false }) wx.hideLoading() }, 3000) console.log('loadData', e.detail) }, onChange(e) { const { startIndex, endIndex } = e.detail if (this.data.startIndex !== startIndex || this.data.endIndex !== endIndex) { this.setData(e.detail) console.log('onChange', e.detail) } }, onScrollToLower(e) { this.loadData(e) console.log('onScrollToLower', e) }, onInputBlur(e) { const { meta } = e.currentTarget.dataset this.setData({ [meta]: e.detail.value }) console.log('onInputBlur', e) }, onSwicth(e) { const { meta } = e.currentTarget.dataset this.setData({ [meta]: e.detail.value }) console.log('onSwicth', e) }, })