diff options
Diffstat (limited to 'src/fields/ListField.ts')
-rw-r--r-- | src/fields/ListField.ts | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/fields/ListField.ts b/src/fields/ListField.ts index a71325a65..6b8773920 100644 --- a/src/fields/ListField.ts +++ b/src/fields/ListField.ts @@ -49,6 +49,20 @@ export class ListField<T extends Field> extends BasicField<T[]> { } UpdateFromServer(fields: string[]) { + if (this._proxies.length < fields.length) { + var added = true; + for (let i = 0; i < this._proxies.length; i++) { + if (this._proxies[i] != fields[i]) { + added = false; + break; + } + } + if (added) { + for (let i = this._proxies.length; i < fields.length; i++) + this._proxies.push(fields[i]); + return; + } + } this._proxies = fields; } private arraysEqual(a: any[], b: any[]) { |