diff --git a/packages/ui-react/src/page/Page.tsx b/packages/ui-react/src/page/Page.tsx index 98b9c0b6..bc0dc39c 100644 --- a/packages/ui-react/src/page/Page.tsx +++ b/packages/ui-react/src/page/Page.tsx @@ -18,7 +18,7 @@ import React from 'react'; -import { MPage } from '@tmagic/schema'; +import { MComponent, MContainer, MPage } from '@tmagic/schema'; import useApp from '../useApp'; @@ -27,15 +27,38 @@ interface PageProps { } const Page: React.FC = ({ config }) => { - const { app } = useApp({ config }); + const { app } = useApp({ + config, + methods: { + refresh: () => window.location.reload() + } + }); if (!app) return null; - const MagiUiContainer = app.resolveComponent('container'); + return
+ {config.items?.map((item: MComponent | MContainer) => { + const MagicUiComp = app.resolveComponent(item.type || 'container'); - return ; + if (!MagicUiComp) return null; + + return ( + + ); + })} +
; }; -Page.displayName = 'maigc-ui-page'; +Page.displayName = 'magic-ui-page'; export default Page; diff --git a/packages/ui-react/src/page/event.ts b/packages/ui-react/src/page/event.ts new file mode 100644 index 00000000..ee58371f --- /dev/null +++ b/packages/ui-react/src/page/event.ts @@ -0,0 +1,8 @@ +export default { + methods: [ + { + label: '刷新页面', + value: 'refresh', + }, + ], +}; diff --git a/packages/ui-react/src/page/index.ts b/packages/ui-react/src/page/index.ts index 7f889b8a..f89f7ed5 100644 --- a/packages/ui-react/src/page/index.ts +++ b/packages/ui-react/src/page/index.ts @@ -20,5 +20,6 @@ import Page from './Page'; export { default as config } from './formConfig'; export { default as value } from './initValue'; +export { default as event } from './event'; export default Page; diff --git a/packages/ui-vue2/src/page/Page.vue b/packages/ui-vue2/src/page/Page.vue index de3b3dc1..ea863a5d 100644 --- a/packages/ui-vue2/src/page/Page.vue +++ b/packages/ui-vue2/src/page/Page.vue @@ -1,19 +1,25 @@ diff --git a/packages/ui-vue2/src/page/event.ts b/packages/ui-vue2/src/page/event.ts new file mode 100644 index 00000000..ee58371f --- /dev/null +++ b/packages/ui-vue2/src/page/event.ts @@ -0,0 +1,8 @@ +export default { + methods: [ + { + label: '刷新页面', + value: 'refresh', + }, + ], +}; diff --git a/packages/ui-vue2/src/page/index.ts b/packages/ui-vue2/src/page/index.ts index 55ba3890..58556d6a 100644 --- a/packages/ui-vue2/src/page/index.ts +++ b/packages/ui-vue2/src/page/index.ts @@ -20,5 +20,6 @@ import Page from './Page.vue'; export { default as config } from './formConfig'; export { default as value } from './initValue'; +export { default as event } from './event'; export default Page; diff --git a/packages/ui/src/page/index.ts b/packages/ui/src/page/index.ts index 0d0736b7..db33c31e 100644 --- a/packages/ui/src/page/index.ts +++ b/packages/ui/src/page/index.ts @@ -20,5 +20,6 @@ import Page from './src/index.vue'; export { default as config } from './src/formConfig'; export { default as value } from './src/initValue'; +export { default as event } from './src/event'; export default Page; diff --git a/packages/ui/src/page/src/event.ts b/packages/ui/src/page/src/event.ts new file mode 100644 index 00000000..ee58371f --- /dev/null +++ b/packages/ui/src/page/src/event.ts @@ -0,0 +1,8 @@ +export default { + methods: [ + { + label: '刷新页面', + value: 'refresh', + }, + ], +}; diff --git a/packages/ui/src/page/src/index.vue b/packages/ui/src/page/src/index.vue index 61541a2d..ab1baa71 100644 --- a/packages/ui/src/page/src/index.vue +++ b/packages/ui/src/page/src/index.vue @@ -1,18 +1,29 @@