v2小程序端给对象设置动态key,如果key中包含[]会导致setData失败,js报错
Open
- Dominant language
- JavaScript
- Stars
- 41.6k
- Forks
- 3.7k
- Avg merge
- 7h 6m
- Merged PRs (30d)
- 6
Description
### 发行方式
小程序
### 具体平台
微信开发工具
### 开发环境
Windows
### 项目创建方式
CLI命令行
### 依赖版本
2.0.2-4060520250512001
### 问题描述
```
data: {
test: {},
}
onLoad: {
this.$set(this.test, '[key]', 1)
}
```
v2在执行diff的时候会将对象中变更的key扁平化,当key中包含[]时diff的结果会变成
```
this.setData({
test.[key]: 1
})
```
导致微信小程序在执行的时候报错
**data path descriptor "test.[key]" is illegal at char 6 (illegal index)**
### 重现步骤
1. 新建uni-app v2项目
2.
```
data: {
test: {},
}
onLoad: {
this.$set(this.test, '[key]', 1)
}
```
### 期望行为
_No response_
### 实际行为
_No response_
### 截图或录屏
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.