dcloudio / dcloudio/uni-app

nvue 使用循环渲染视图 视图和数组不一致问题

Open
#5,973 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
41.6k
Forks
3.7k
Avg merge
7h 6m
Merged PRs (30d)
6

Description

**问题描述**
[问题描述:尽可能简洁清晰地把问题描述清楚]
在 nvue 中定义了一个数组[1,2,3] 视图上通过 v-for 循环,并且将 item 作为key 进行绑定,然后点击 item 触发事件,在事件中将点击的数据排序到第一个去,连续点击两次以后发现 视图没有按照数据进行渲染

**复现步骤**
[复现问题的步骤]

第一次点击
Image

第二次点击
Image

第三次点击
Image

在第三次点击后数据和渲染的视图不一致,我这每次都是点击最后一个,源码如下,文件必须是 nvue 后缀,如果是 .vue 没有问题

```nvue



{{ sortedUserList }}



{{ id }}


export default {
data() {
return {
list: [1,2,3],
mainId: 1,
};
},
computed: {
sortedUserList() {
const others = this.list.filter(id=> id!==this.mainId)
return [this.mainId, ...others];
}
},
methods: {
handleSwitch(targetId) {
this.mainId = this.mainId === targetId ? '' : targetId;
},
},
};

.box {
display: flex;
align-content: center;
flex-wrap: wrap;
flex-direction: row;
}

.item {
width: 200rpx;
height: 200rpx;
border: 1px solid #ccc;
}

```

**预期结果**
能够正常按照数据进行循环渲染

**实际结果**
不能按照循环进行渲染

**系统信息:**
- 发行平台: window11
- 操作系统: 安卓14
- HBuilderX版本 : HBuilderX 4.7.6
- 设备信息: OPPO A3x

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.