Skip to content

Commit

Permalink
fix(build): 修复构建时组件类型丢失问题 (#2403)
Browse files Browse the repository at this point in the history
  • Loading branch information
eiinu authored Jul 10, 2023
1 parent 242a0c5 commit 3492f5e
Show file tree
Hide file tree
Showing 7 changed files with 61 additions and 72 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@
"vite-plugin-md": "^0.21.5",
"vitest": "^0.32.2",
"vue": "^3.3.4",
"vue-tsc": "^1.4.4"
"vue-tsc": "^1.8.4"
},
"eslintConfig": {
"root": true,
Expand Down
89 changes: 45 additions & 44 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions src/packages/__VUE/popup/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export const component = (componentName: string, components: any) => {
props: {
...popupProps
},
emits: ['click-pop', 'click-close-icon', 'open', 'close', 'opend', 'closed', 'click-overlay', 'update:visible'],
emits: ['click-pop', 'click-close-icon', 'open', 'close', 'opened', 'closed', 'click-overlay', 'update:visible'],

setup(props: any, { emit }: any) {
const state = reactive({
Expand Down Expand Up @@ -85,12 +85,12 @@ export const component = (componentName: string, components: any) => {
}
};

const onOpened = (e: Event) => {
emit('opend', e);
const onOpened = (el: Element) => {
emit('opened', el);
};

const onClosed = (e: Event) => {
emit('closed', e);
const onClosed = (el: Element) => {
emit('closed', el);
};

watch(
Expand Down
4 changes: 2 additions & 2 deletions src/packages/__VUE/popup/doc.en-US.md
Original file line number Diff line number Diff line change
Expand Up @@ -250,8 +250,8 @@ Specify the mount node through `teleport`
| click-close-icon | Triggered when the close icon is clicked | `event: Event` |
| open | Triggered when the pop-up box is opened | - |
| close | Triggered when the pop-up box is closed | - |
| opend | Triggered at the end of the mask open animation | `event: Event` |
| closed | Triggered when the mask closes and the animation ends | `event: Event` |
| opened | Triggered at the end of the mask open animation | `el: Element` |
| closed | Triggered when the mask closes and the animation ends | `el: Element` |
| click-overlay | Click mask trigger | `event: Event` |

### Slots
Expand Down
4 changes: 2 additions & 2 deletions src/packages/__VUE/popup/doc.md
Original file line number Diff line number Diff line change
Expand Up @@ -247,8 +247,8 @@ app.use(Popup);
| click-close-icon | 点击关闭图标时触发 | `event: Event` |
| open | 打开弹框时触发 | - |
| close | 关闭弹框时触发 | - |
| opend | 遮罩打开动画结束时触发 | `event: Event` |
| closed | 遮罩关闭动画结束时触发 | `event: Event` |
| opened | 遮罩打开动画结束时触发 | `el: Element` |
| closed | 遮罩关闭动画结束时触发 | `el: Element` |
| click-overlay | 点击遮罩触发 | `event: Event` |

### Slots
Expand Down
4 changes: 2 additions & 2 deletions src/packages/__VUE/popup/doc.taro.md
Original file line number Diff line number Diff line change
Expand Up @@ -217,8 +217,8 @@ app.use(Popup);
| click-close-icon | 点击关闭图标时触发 | `event: Event` |
| open | 打开弹框时触发 | - |
| close | 关闭弹框时触发 | - |
| opend | 遮罩打开动画结束时触发 | `event: Event` |
| closed | 遮罩关闭动画结束时触发 | `event: Event` |
| opened | 遮罩打开动画结束时触发 | `el: Element` |
| closed | 遮罩关闭动画结束时触发 | `el: Element` |
| click-overlay | 点击遮罩触发 | `event: Event` |

### Slots
Expand Down
20 changes: 4 additions & 16 deletions src/packages/utils/create/component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {
App,
defineComponent,
ComponentPropsOptions,
ComponentOptions,
ExtractPropTypes,
SetupContext,
RenderFunction,
Expand All @@ -20,26 +21,13 @@ export function createComponent(name: string) {
const text = getPropByPath(languages, `${name.replace('-', '')}.${keyPath}`) || getPropByPath(languages, keyPath);
return isFunction(text) ? text(...args) : text;
},
create: function <
PropsOptions extends Readonly<ComponentPropsOptions>,
Props extends Readonly<ExtractPropTypes<PropsOptions>>
>(_component: {
name?: string;
baseName?: string;
install?: (vue: App) => void;
props?: PropsOptions;
components?: Record<string, Component>;
setup?: (props: Props, setupContext: SetupContext) => RenderFunction | Record<string, any> | any;
emits?: string[];
[optionKey: string]: any;
}) {
_component.baseName = name;
create: function (_component: ComponentOptions) {
_component.name = componentName;
_component.install = (vue: App) => {
vue.component(_component.name as string, _component as any);
};
return defineComponent(_component as any);
},
return defineComponent(_component as ComponentOptions);
} as typeof defineComponent,
createDemo: function <
PropsOptions extends Readonly<ComponentPropsOptions>,
Props extends Readonly<ExtractPropTypes<PropsOptions>>
Expand Down

0 comments on commit 3492f5e

Please sign in to comment.