diff --git a/framework/ohos/src/main/ets/renderer_native/NativeRenderImpl.ets b/framework/ohos/src/main/ets/renderer_native/NativeRenderImpl.ets index 44e2ad47b1c..27bd2419308 100644 --- a/framework/ohos/src/main/ets/renderer_native/NativeRenderImpl.ets +++ b/framework/ohos/src/main/ets/renderer_native/NativeRenderImpl.ets @@ -20,7 +20,7 @@ import TextMeasurer from "@ohos.measure" import { HippyException } from '../support/common/HippyException' import { HippyExecutor } from '../support/common/HippyExecutor' -import { HippyAny, HippyMap, HippyRenderCallback } from '../support/common/HippyTypes' +import { HippyAny, HippyMap, HippyValue, HippyRenderCallback } from '../support/common/HippyTypes' import { LogUtils } from '../support/utils/LogUtils' import { VfsManager } from '../vfs/VfsManager' import { ImageDecoderAdapter } from './components/image/ImageDecoderAdapter' @@ -202,6 +202,16 @@ export class NativeRenderImpl implements NativeRender { updateNode(rootId: number, nodeList: Array) { for (let i = 0; i < nodeList.length; i++) { let node = nodeList[i] as Map + + let vNode = this.virtualNodes.get(node.get('id') as number) + if (vNode && vNode.props) { + (node.get('props') as HippyMap).forEach((value: HippyValue, key: string) => { + if (vNode && vNode.props && key && value) { + vNode.props.set(key, value) + } + }) + } + let m: HRUpdateMutation = new HRUpdateMutation() m.viewName = node.get('name') as string m.tag = node.get('id') as number