diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/RepeatImpl.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/RepeatImpl.ts index d4691a87f952b76fb26ceb9f1b353dba3fcbdf25..49b83b96df19f1c4b52482bb2d6a9674c7a4eadc 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/RepeatImpl.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/RepeatImpl.ts @@ -210,7 +210,7 @@ function virtualRender( repeatId: KoalaCallsiteKey, ): void { let dataSource = remember(() => new RepeatDataSource(arr)); - const total = attributes.userDefinedTotal_ ?? arr.length; + const total = attributes.userDefinedTotal_ ?? arr.length.toDouble(); dataSource.updateData(arr, (Number.isInteger(total) && total >= 0) ? total : arr.length); if (!attributes.onLazyLoading_ && dataSource.totalCount() > arr.length) { console.error(`(${repeatId}) totalCount must not exceed the array length without onLazyLoading callback.`); @@ -256,4 +256,4 @@ function nonVirtualRender(arr: RepeatArray, const ri = new RepeatItemImpl(ele, (i as number)); itemGenerator(ri); }); -} \ No newline at end of file +} diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/stateManagement/base/observeWrappedArray.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/stateManagement/base/observeWrappedArray.ts index fbc5abc7582b16e520722af19f50591bedca3f2c..d35fc440efd420300047a8ee1264e97e8d97e662 100755 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/stateManagement/base/observeWrappedArray.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/stateManagement/base/observeWrappedArray.ts @@ -65,14 +65,14 @@ export class WrappedArray extends Array implements IObservedObject, Observ return ObserveSingleton.instance.shouldAddRef(this.____V1RenderId); } - override get length(): number { + override get length(): int { if (this.shouldAddRef()) { this.meta_.addRef(CONSTANT.OB_LENGTH); } return this.store_.length; } - override set length(newLen: number) { + override set length(newLen: int) { const len = this.store_.length; if (len !== newLen) { this.store_.length; diff --git a/frameworks/bridge/arkts_frontend/koala_projects/incremental/runtime/src/states/State.ts b/frameworks/bridge/arkts_frontend/koala_projects/incremental/runtime/src/states/State.ts index 1f6cf62acd23a1a14dab83931ad31d6befd4cfe4..ac2f0eba9d1f1c88a310214b0d00f7b3fc171670 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/incremental/runtime/src/states/State.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/incremental/runtime/src/states/State.ts @@ -419,7 +419,7 @@ class ArrayStateImpl extends StateImpl> implements ArrayState< } set length(value: number) { - this.mutable.length = value + this.mutable.length = value.toInt() } at(index: number): Item { @@ -465,7 +465,7 @@ class ArrayStateImpl extends StateImpl> implements ArrayState< splice(start: number, deleteCount: number | undefined, ...items: Item[]): Array { const array = this.mutable - return array.splice(start, deleteCount ?? array.length, ...items) + return array.splice(start, deleteCount ?? array.length.toDouble(), ...items) } unshift(...items: Item[]): number {