uniapp移动app使用nvue页面中recycle-list组件写聊天列表,反复出现闪退问题,点击聊天,明明点了一个,可是其他聊天的未读数也会被消除,上下滑经常出现部分内容消失,或者乱码问题,或者头像背景色失效,


if ((oneType && that.currentIndex == 0) || (twoType && that.currentIndex == 1) ||
(threeType && that.currentIndex == 2) || (fourType && that.currentIndex ==
3) ||
(fiveType && that.currentIndex == 4)) {
// console.log('更新当前列表数据');
that.chatListType[that.currentIndex].num = that.chatListType[that.currentIndex]
.num + 1;
if (showIndex > -1) {
that.showDialogList.splice(showIndex, 1);
that.currentDialogIds.splice(showIndex, 1);
}
that.showDialogList.splice(0, 0, currtentNewItem);
that.currentDialogIds.unshift(payload.dialogId + "");
} else {
let otherIndex = typeList.indexOf(true);
// console.log('otherIndex', otherIndex);
that.chatListType[otherIndex].num = that.chatListType[otherIndex]
.num + 1;
}
<recycle-list for="(i, index) in showDialogList" class="back">
<cell-slot class="">
<transition name="fade">
<view class="r-list-box flex-row">
<div class="r-realname-box" :style="{backgroundColor:i.tag999?'#'+i.tag999:{orange}}"
@longpress="onLongPress" @touchstart="touchStart(i,index)">
<text class="r-realname" v-if="i.realname">
{{i.realname}}
</text>
</div>
<view class="posi-read">
<view class="r-noread-box n-flex-center" v-if="i.num>0">
<text class="r-noread">{{i.num}}</text>
</view>
</view>
<view class="r-box-right" @touchend="navChat(i,index)"
:style="{width:i.rightWidth?i.rightWidth+'px':{}}" @appear="onappear(i,index)">
<view class="n-just-bet">
<view class="" style="" :style="{width:i.rightTitleWidth?i.rightTitleWidth+'px':{}}">
<text class="r-content-t n-omit" v-if="i.title">{{i.title}}</text>
</view>
<view class="">
<text class="r-content-tag r-color-grey" style="text-align: right;"
v-if="i.time">{{i.time}}</text>
</view>
</view>
<view class="flex-row r-padd">
<text class="r-content-tag r-color-red r-padd-left" v-if="i.status===1">置顶</text>
<text class="r-content-tag r-color-orange r-padd-left"
v-if="i.tag1.planStr">{{i.tag1.planStr}}</text>
<text class="r-content-tag r-color-grey r-padd-left" v-if="i.tags[0]">
{{i.tags[0]}}
</text>
<text class="r-content-tag r-color-grey r-padd-left" v-if="i.tags[1]">
{{i.tags[1]}}
</text>
<text class="r-content-tag r-color-grey r-padd-left" v-if="i.tags[2]">
{{i.tags[2]}}
</text>
<text class="r-content-tag r-color-grey r-padd-left" v-if="i.tags[3]">
{{i.tags[3]}}
</text>
<text class="r-content-tag r-color-grey" v-if="i.tags[4]">
...
</text>
<text class="r-content-tag r-color-red r-padd-left"
v-if="i.inspectDay">{{i.inspectDay}}无指标</text>
</view>
<view class="n-just-bet">
<view class="" v-if="i.lastMsgTimeStr"
:style="{width:i.rightContentWidth?i.rightContentWidth+'px':{}}">
<text class="r-content-tag r-padd r-color-grey n-omit"
v-if="i.nickname||i.desc">{{i.nickname}}:{{i.desc}}</text>
</view>
<view class="" :style="{width:i.rightWidth?i.rightWidth+'px':{}}" v-else>
<text class="r-content-tag r-padd r-color-grey n-omit"
v-if="i.nickname||i.desc">{{i.nickname}}:{{i.desc}}</text>
</view>
<view class=" flex-row flex-ali-center">
<text class="r-content-tag r-color-grey"
v-if="i.lastMsgTimeStr">回复:{{i.lastMsgTimeStr}}</text>
</view>
</view>
</view>
</view>
</transition>
</cell-slot>
</recycle-list>
闪退问题log文件:
PRODUCT:SEA-AL10
RADIO:unknown
SERIAL:unknown
SUPPORTED_32_BIT_ABIS:[Ljava.lang.String;@875db50
SUPPORTED_64_BIT_ABIS:[Ljava.lang.String;@2e0f149
SUPPORTED_ABIS:[Ljava.lang.String;@ac12a4e
TAGS:release-keys
TIME:1706676915000
TYPE:user
UNKNOWN:unknown
USER:test
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$AsyncFutureTask.done(AsyncTask.java:429)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:932)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.taobao.weex.ui.component.WXComponent.updateDemission(float, float, float, float, float, float)' on a null object reference
at com.taobao.weex.ui.component.binding.Statements.copyComponentTree(Unknown Source:55)
at com.taobao.weex.ui.component.binding.Statements.copyComponentTree(Unknown Source:4)
at com.taobao.weex.ui.component.list.template.WXRecyclerTemplateList.copyComponentFromSourceCell(Unknown Source:3)
at com.taobao.weex.ui.component.list.template.AsyncCellLoadTask.doInBackground(Unknown Source:43)
at com.taobao.weex.ui.component.list.template.AsyncCellLoadTask.doInBackground(Unknown Source:2)
at android.os.AsyncTask$3.call(AsyncTask.java:389)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
... 3 more