现在有需求要进行动画的了列表渲染。
但是在写的过程中发现了问题,不知如何解决
现有父组件,通过socket不停地获取服务端传递过来的值,放入了数组中,然后将这个数组传递给子组件
socket.onmessage = (event) => {
const socketData = JSON.parse(event.data)
if (socketData.type === 'wz') {
this.wzSocket = socketData.data
} else if (socketData.type === 'warn') {
this.warningSocket.unshift(socketData.data)
}
}这里采用的unshift 总是希望第一个进入数组的值出现动态效果。
子组件 对传递过来的数组进行列表过渡,但是发现如果key填入了item这个对象,后台是会提报错,key重复,以及不可以使用object来作为key,建议件采用string或者number。
所以这边改成了index。
<transition-group name="list" tag="span">
<div v-for="(item,index) in warningData" :key="index" class="list-item">
{{item.recordtime}} +{{index}}
<el-button type="text" size="mini" @click="handleClickDetails(item)">详情</el-button>
</div>
</transition-group>那么请问,怎么才能总是使得数组的第一个元素出现动态效果
慕尼黑5688855
30秒到达战场
青春有我
随时随地看视频慕课网APP