mirror of
https://gitee.com/baidu/amis.git
synced 2024-12-02 03:48:13 +08:00
fix:刷新crud未执行切刷新service的问题
This commit is contained in:
parent
1cb5f905b6
commit
6279ca0c0e
@ -2762,7 +2762,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|||||||
headerToolbarRender: this.renderHeaderToolbar,
|
headerToolbarRender: this.renderHeaderToolbar,
|
||||||
footerToolbarRender: this.renderFooterToolbar,
|
footerToolbarRender: this.renderFooterToolbar,
|
||||||
data: store.mergedData,
|
data: store.mergedData,
|
||||||
loading: store.loading
|
loading: store.loading,
|
||||||
|
host: this
|
||||||
}
|
}
|
||||||
)}
|
)}
|
||||||
{render(
|
{render(
|
||||||
|
@ -1381,7 +1381,8 @@ export default class CRUD2 extends React.Component<CRUD2Props, any> {
|
|||||||
onSort: this.handleQuerySearch,
|
onSort: this.handleQuerySearch,
|
||||||
onSelect: this.handleSelect,
|
onSelect: this.handleSelect,
|
||||||
data: store.mergedData,
|
data: store.mergedData,
|
||||||
loading: store.loading
|
loading: store.loading,
|
||||||
|
host: this
|
||||||
}
|
}
|
||||||
)}
|
)}
|
||||||
{/* spinner可以交给孩子处理 */}
|
{/* spinner可以交给孩子处理 */}
|
||||||
|
@ -1123,11 +1123,9 @@ export class CardsRenderer extends Cards {
|
|||||||
* 因为Cards在scope上注册,导致getComponentByName查询组件时会优先找到Cards,和CRUD联动的动作都会失效
|
* 因为Cards在scope上注册,导致getComponentByName查询组件时会优先找到Cards,和CRUD联动的动作都会失效
|
||||||
* 这里先做兼容处理,把动作交给上层的CRUD处理
|
* 这里先做兼容处理,把动作交给上层的CRUD处理
|
||||||
*/
|
*/
|
||||||
if (Array.isArray(parents) && parents.length) {
|
if (this.props?.host) {
|
||||||
// CRUD的name会透传给Cards,这样可以保证找到CRUD
|
// CRUD会把自己透传给Cards,这样可以保证找到CRUD
|
||||||
const crud = parents.find(cmpt => cmpt?.props?.name === this.props?.name);
|
return this.props.host.receive?.(values, subPath);
|
||||||
|
|
||||||
return crud?.receive?.(values, subPath);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (subPath) {
|
if (subPath) {
|
||||||
@ -1151,13 +1149,10 @@ export class CardsRenderer extends Cards {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const scoped = this.context as IScopedContext;
|
const scoped = this.context as IScopedContext;
|
||||||
const parents = scoped?.parent?.getComponents();
|
|
||||||
|
|
||||||
if (Array.isArray(parents) && parents.length) {
|
if (this.props?.host) {
|
||||||
// CRUD的name会透传给Cards,这样可以保证找到CRUD
|
// CRUD会把自己透传给Cards,这样可以保证找到CRUD
|
||||||
const crud = parents.find(cmpt => cmpt?.props?.name === this.props?.name);
|
return this.props.host.reload?.(subPath, query, ctx);
|
||||||
|
|
||||||
return crud?.reload?.(subPath, query, ctx);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (subPath) {
|
if (subPath) {
|
||||||
|
@ -1112,17 +1112,14 @@ export class ListRenderer extends List {
|
|||||||
|
|
||||||
receive(values: any, subPath?: string) {
|
receive(values: any, subPath?: string) {
|
||||||
const scoped = this.context as IScopedContext;
|
const scoped = this.context as IScopedContext;
|
||||||
const parents = scoped?.parent?.getComponents();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 因为List在scope上注册,导致getComponentByName查询组件时会优先找到List,和CRUD联动的动作都会失效
|
* 因为List在scope上注册,导致getComponentByName查询组件时会优先找到List,和CRUD联动的动作都会失效
|
||||||
* 这里先做兼容处理,把动作交给上层的CRUD处理
|
* 这里先做兼容处理,把动作交给上层的CRUD处理
|
||||||
*/
|
*/
|
||||||
if (Array.isArray(parents) && parents.length) {
|
if (this.props?.host) {
|
||||||
// CRUD的name会透传给List,这样可以保证找到CRUD
|
// CRUD会把自己透传给List,这样可以保证找到CRUD
|
||||||
const crud = parents.find(cmpt => cmpt?.props?.name === this.props?.name);
|
return this.props.host.receive?.(values, subPath);
|
||||||
|
|
||||||
return crud?.receive?.(values, subPath);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (subPath) {
|
if (subPath) {
|
||||||
@ -1146,13 +1143,10 @@ export class ListRenderer extends List {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const scoped = this.context as IScopedContext;
|
const scoped = this.context as IScopedContext;
|
||||||
const parents = scoped?.parent?.getComponents();
|
|
||||||
|
|
||||||
if (Array.isArray(parents) && parents.length) {
|
if (this.props?.host) {
|
||||||
// CRUD的name会透传给List,这样可以保证找到CRUD
|
// CRUD会把自己透传给List,这样可以保证找到CRUD
|
||||||
const crud = parents.find(cmpt => cmpt?.props?.name === this.props?.name);
|
return this.props?.host.reload?.(subPath, query, ctx);
|
||||||
|
|
||||||
return crud?.reload?.(subPath, query, ctx);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (subPath) {
|
if (subPath) {
|
||||||
|
@ -2842,17 +2842,14 @@ export default class Table extends React.Component<TableProps, object> {
|
|||||||
export class TableRenderer extends Table {
|
export class TableRenderer extends Table {
|
||||||
receive(values: any, subPath?: string) {
|
receive(values: any, subPath?: string) {
|
||||||
const scoped = this.context as IScopedContext;
|
const scoped = this.context as IScopedContext;
|
||||||
const parents = scoped?.parent?.getComponents();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 因为Table在scope上注册,导致getComponentByName查询组件时会优先找到Table,和CRUD联动的动作都会失效
|
* 因为Table在scope上注册,导致getComponentByName查询组件时会优先找到Table,和CRUD联动的动作都会失效
|
||||||
* 这里先做兼容处理,把动作交给上层的CRUD处理
|
* 这里先做兼容处理,把动作交给上层的CRUD处理
|
||||||
*/
|
*/
|
||||||
if (Array.isArray(parents) && parents.length) {
|
if (this.props?.host) {
|
||||||
// CRUD的name会透传给Table,这样可以保证找到CRUD
|
// CRUD会把自己透传给Table,这样可以保证找到CRUD
|
||||||
const crud = parents.find(cmpt => cmpt?.props?.name === this.props?.name);
|
return this.props.host.receive?.(values, subPath);
|
||||||
|
|
||||||
return crud?.receive?.(values, subPath);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (subPath) {
|
if (subPath) {
|
||||||
@ -2904,13 +2901,10 @@ export class TableRenderer extends Table {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const scoped = this.context as IScopedContext;
|
const scoped = this.context as IScopedContext;
|
||||||
const parents = scoped?.parent?.getComponents();
|
|
||||||
|
|
||||||
if (Array.isArray(parents) && parents.length) {
|
if (this.props?.host) {
|
||||||
// CRUD的name会透传给Table,这样可以保证找到CRUD
|
// CRUD会把自己透传给Table,这样可以保证找到CRUD
|
||||||
const crud = parents.find(cmpt => cmpt?.props?.name === this.props?.name);
|
return this.props.host.reload?.(subPath, query, ctx);
|
||||||
|
|
||||||
return crud?.reload?.(subPath, query, ctx);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (subPath) {
|
if (subPath) {
|
||||||
|
@ -2131,17 +2131,14 @@ export default class Table2 extends React.Component<Table2Props, object> {
|
|||||||
export class TableRenderer extends Table2 {
|
export class TableRenderer extends Table2 {
|
||||||
receive(values: any, subPath?: string) {
|
receive(values: any, subPath?: string) {
|
||||||
const scoped = this.context as IScopedContext;
|
const scoped = this.context as IScopedContext;
|
||||||
const parents = scoped?.parent?.getComponents();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 因为Table在scope上注册,导致getComponentByName查询组件时会优先找到Table,和CRUD联动的动作都会失效
|
* 因为Table在scope上注册,导致getComponentByName查询组件时会优先找到Table,和CRUD联动的动作都会失效
|
||||||
* 这里先做兼容处理,把动作交给上层的CRUD处理
|
* 这里先做兼容处理,把动作交给上层的CRUD处理
|
||||||
*/
|
*/
|
||||||
if (Array.isArray(parents) && parents.length) {
|
if (this.props?.host) {
|
||||||
// CRUD的name会透传给Table,这样可以保证找到CRUD
|
// CRUD会把自己透传给Table,这样可以保证找到CRUD
|
||||||
const crud = parents.find(cmpt => cmpt?.props?.name === this.props?.name);
|
return this.props.host.receive?.(values, subPath);
|
||||||
|
|
||||||
return crud?.receive?.(values, subPath);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (subPath) {
|
if (subPath) {
|
||||||
@ -2153,11 +2150,9 @@ export class TableRenderer extends Table2 {
|
|||||||
const scoped = this.context as IScopedContext;
|
const scoped = this.context as IScopedContext;
|
||||||
const parents = scoped?.parent?.getComponents();
|
const parents = scoped?.parent?.getComponents();
|
||||||
|
|
||||||
if (Array.isArray(parents) && parents.length) {
|
if (this.props?.host) {
|
||||||
// CRUD的name会透传给Table,这样可以保证找到CRUD
|
// CRUD会把自己透传给Table,这样可以保证找到CRUD
|
||||||
const crud = parents.find(cmpt => cmpt?.props?.name === this.props?.name);
|
return this.props.host.reload?.(subPath, query, ctx);
|
||||||
|
|
||||||
return crud?.reload?.(subPath, query, ctx);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (subPath) {
|
if (subPath) {
|
||||||
|
Loading…
Reference in New Issue
Block a user