本人系统使用的VANT2,根据需求,要实现van-list的item根据内容改变自身高度。其实整体需求并不算太难,但晚上搜索良久,并没有找到相关的文章,故特此留下记录,为后人解惑。
首先附上template的部分代码。
<van-list class="messageList" v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad" :immediate-check=false>
<MessageItem :messageList="messageListArray" @getInfo="getInfo" :messageListLoading="messageListLoading"></MessageItem>
</van-list>
这里我使用的自定义MessageItem控件作为van-list的item,配合loading插件实现上拉刷新获取更多消息功能。
我们看到这个数据源,是通过messageListArray参数进行传递。为了实现动态item高度,对应MessageItem控件里,我们需要计算出对应高度并给控件高度重新赋值。
updated () {
this.$nextTick(() => {
setTimeout(()=>{ //设置延迟执行
for (v