fix(data-source): 默认事件处理支持path为空字符串

This commit is contained in:
roymondchen 2024-06-06 17:40:13 +08:00
parent e1f8392261
commit ac7bb93a37

View File

@ -12,6 +12,7 @@ export class SimpleObservedData extends ObservedData {
super(); super();
this.data = initialData; this.data = initialData;
} }
update(data: any, path?: string): void { update(data: any, path?: string): void {
if (path) { if (path) {
setValueByKeyPath(path, data, this.data); setValueByKeyPath(path, data, this.data);
@ -23,16 +24,25 @@ export class SimpleObservedData extends ObservedData {
updateData: data, updateData: data,
path: path ?? '', path: path ?? '',
}; };
this.event.emit(path ?? '', changeEvent);
if (path) {
this.event.emit(path, changeEvent);
} }
this.event.emit('', changeEvent);
}
on(path: string, callback: (newVal: any) => void): void { on(path: string, callback: (newVal: any) => void): void {
this.event.on(path, callback); this.event.on(path, callback);
} }
off(path: string, callback: (newVal: any) => void): void { off(path: string, callback: (newVal: any) => void): void {
this.event.off(path, callback); this.event.off(path, callback);
} }
getData(path: string) { getData(path: string) {
return path ? getValueByKeyPath(path, this.data) : this.data; return path ? getValueByKeyPath(path, this.data) : this.data;
} }
destroy(): void {} destroy(): void {}
} }