mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 02:54:11 +08:00
fix(core): Observable splice index > length (#8900)
* fix for splice index > length In javascript you can call splice with an index > length. The result is a push. But when you do that ObservableArray index will be wrong and thus user logic will fail. Example: ```ts // obsarray = [0]; obsarray.splice(2, 0, 1); // this works, the inner array is now [0,1] // however 'change' is called with index = 2 // when the use tries to do obsarray.getItem(eventData.index) -> crash ``` * fix to handle delete too
This commit is contained in:
@ -246,7 +246,7 @@ export class ObservableArray<T> extends Observable {
|
||||
eventName: CHANGE,
|
||||
object: this,
|
||||
action: ChangeType.Splice,
|
||||
index: start,
|
||||
index: Math.min(start, this._array.length-1),
|
||||
removed: result,
|
||||
addedCount: this._array.length + result.length - length,
|
||||
});
|
||||
|
Reference in New Issue
Block a user