store 报错处理
This commit is contained in:
parent
904864cb47
commit
96cfb18c9f
|
@ -424,6 +424,7 @@ export default class FileControl extends React.Component<FileProps, FileState> {
|
|||
newFile.error = error;
|
||||
} else {
|
||||
newFile = obj as FileValue;
|
||||
newFile.name = newFile.name || file!.name;
|
||||
}
|
||||
files.splice(idx, 1, newFile);
|
||||
this.current = null;
|
||||
|
|
|
@ -328,6 +328,9 @@ export default class Form extends React.Component<FormProps, object> {
|
|||
|
||||
async onInit() {
|
||||
const {onInit, store, submitOnInit} = this.props;
|
||||
if (!isAlive(store)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 先拿出来数据,主要担心 form 被什么东西篡改了,然后又应用出去了
|
||||
// 之前遇到过问题,所以拿出来了。但是 options loadOptions 默认值失效了。
|
||||
|
@ -339,7 +342,11 @@ export default class Form extends React.Component<FormProps, object> {
|
|||
const hooks: Array<(data: any) => Promise<any>> = this.hooks['init'] || [];
|
||||
await Promise.all(hooks.map(hook => hook(data)));
|
||||
|
||||
if (isAlive(store) && store.initedAt !== initedAt) {
|
||||
if (!isAlive(store)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (store.initedAt !== initedAt) {
|
||||
// 说明,之前的数据已经失效了。
|
||||
// 比如 combo 一开始设置了初始值,然后 form 的 initApi 又返回了新的值。
|
||||
// 这个时候 store 的数据应该已经 init 了新的值。但是 data 还是老的,这个时候
|
||||
|
|
Loading…
Reference in New Issue