Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
1be4f0fd
U
uni-app
项目概览
DCloud
/
uni-app
3 个月 前同步成功
通知
725
Star
38705
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1be4f0fd
编写于
1月 18, 2021
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(App): 修复部分情况下 v-for 渲染列表事件错乱的问题 question/112100
上级
49e5af92
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
31 addition
and
4 deletion
+31
-4
src/platforms/app-plus/service/framework/plugins/vdom-sync.js
...platforms/app-plus/service/framework/plugins/vdom-sync.js
+18
-2
src/platforms/app-plus/view/framework/plugins/vdom-sync.js
src/platforms/app-plus/view/framework/plugins/vdom-sync.js
+13
-2
未找到文件。
src/platforms/app-plus/service/framework/plugins/vdom-sync.js
浏览文件 @
1be4f0fd
...
...
@@ -13,9 +13,14 @@ import {
PAGE_CREATE
,
PAGE_CREATED
,
MOUNTED_DATA
,
UPDATED_DATA
UPDATED_DATA
,
VD_SYNC_VERSION
}
from
'
../../../constants
'
import
{
generateId
}
from
'
../../../helpers/util
'
import
{
removeVdSync
,
registerVdSync
...
...
@@ -113,7 +118,18 @@ export class VDomSync {
}
addVm
(
vm
)
{
this
.
vms
[
vm
.
_$id
]
=
vm
const
id
=
vm
.
_$id
const
oldVm
=
this
.
vms
[
id
]
if
(
oldVm
)
{
const
newId
=
generateId
(
oldVm
,
oldVm
.
$parent
,
VD_SYNC_VERSION
)
oldVm
.
_$id
=
newId
this
.
vms
[
newId
]
=
oldVm
this
.
elements
.
forEach
(
element
=>
{
const
cid
=
element
.
cid
element
.
cid
=
cid
===
id
?
newId
:
cid
})
}
this
.
vms
[
id
]
=
vm
}
removeVm
(
vm
)
{
...
...
src/platforms/app-plus/view/framework/plugins/vdom-sync.js
浏览文件 @
1be4f0fd
...
...
@@ -35,6 +35,17 @@ export class VDomSync {
this
.
updateBatchVData
.
push
([
cid
,
data
])
}
addVm
(
vm
)
{
const
id
=
vm
.
_$id
const
oldVm
=
this
.
vms
[
id
]
if
(
oldVm
)
{
const
newId
=
generateId
(
oldVm
,
findParent
(
oldVm
),
this
.
version
)
oldVm
.
_$id
=
newId
this
.
vms
[
newId
]
=
oldVm
}
this
.
vms
[
id
]
=
vm
}
initVm
(
vm
)
{
vm
.
_$id
=
generateId
(
vm
,
findParent
(
vm
),
this
.
version
)
let
vData
=
this
.
addBatchVData
[
vm
.
_$id
]
...
...
@@ -50,7 +61,7 @@ export class VDomSync {
const
[
data
,
options
]
=
vData
Object
.
assign
(
vm
.
$options
,
options
)
vm
.
$r
=
data
||
Object
.
create
(
null
)
this
.
vms
[
vm
.
_$id
]
=
vm
this
.
addVm
(
vm
)
}
sendUIEvent
(
cid
,
nid
,
event
)
{
...
...
@@ -89,4 +100,4 @@ export class VDomSync {
})
this
.
updateBatchVData
.
length
=
0
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录