diff --git a/framework/examples/ohos-demo/src/main/ets/hippy_extend/ExampleViewA.ets b/framework/examples/ohos-demo/src/main/ets/hippy_extend/ExampleViewA.ets index b162480c6e2..c3cd16ecd4c 100644 --- a/framework/examples/ohos-demo/src/main/ets/hippy_extend/ExampleViewA.ets +++ b/framework/examples/ohos-demo/src/main/ets/hippy_extend/ExampleViewA.ets @@ -67,7 +67,7 @@ export struct ExampleComponentA { // 自定义事件举例 let event = new HippyViewEvent("onEvent1") let params = new Map() - params['key1'] = 'value1' + params.set('key1', 'value1') event.send(this.renderView.ctx, this.renderView.tag, params) } diff --git a/framework/ohos/src/main/ets/renderer_native/serialization/NativeRenderSerializer.ets b/framework/ohos/src/main/ets/renderer_native/serialization/NativeRenderSerializer.ets index 368f33747bb..22697af02d4 100644 --- a/framework/ohos/src/main/ets/renderer_native/serialization/NativeRenderSerializer.ets +++ b/framework/ohos/src/main/ets/renderer_native/serialization/NativeRenderSerializer.ets @@ -41,15 +41,7 @@ export class NativeRenderSerializer extends PrimitiveValueSerializer { if (object instanceof Map) { this.assignId(object) if (object.size > 0) { - let keys = object.keys() - for (let key of keys) { - if(typeof key == 'string') { - this.writeObject(object as Map) - } else { - this.writeMap(object as Map) - } - break - } + this.writeMap(object as Map) } else { this.writeObject(object as Map) } @@ -70,22 +62,35 @@ export class NativeRenderSerializer extends PrimitiveValueSerializer { this.writeValue(key) this.writeValue(value) }) + Object.keys(map).forEach(key => { + count++ + if (key == null) { + this.writeString("null") + } else { + this.writeString(key) + } + let value: HippySerValue = Reflect.get(map, key) + this.writeValue(value) + }); this.writeTag(NativeRenderSerializationTag.END_MAP) this.writer_.putVarint(2 * count) } writeObject(map: Map) { this.writeTag(NativeRenderSerializationTag.BEGIN_OBJECT) - map.forEach((value: HippyAny, key: string) => { + let count = 0 + Object.keys(map).forEach(key => { + count++ if (key == null) { this.writeString("null") } else { this.writeString(key) } + let value: HippySerValue = Reflect.get(map, key) this.writeValue(value) - }) + }); this.writeTag(NativeRenderSerializationTag.END_OBJECT) - this.writer_.putVarint(map.size) + this.writer_.putVarint(count) } writeList(list: Array) {