tiny-vue icon indicating copy to clipboard operation
tiny-vue copied to clipboard

✨ [Feature]: Hope to add the TypeScript type declaration of components

Open kagol opened this issue 2 years ago • 2 comments

What problem does this feature solve

Adding type declaration to components can improve the developer experience(DX).

建议优先完善高频组件的 TypeScript 类型声明。

TinyVue 高频组件

What does the proposed API look like

Take the alert component as an example.

packages/renderless/src/alert/vue.ts

  // Add type declaration to state
  const state: IAlertState = reactive({
    show: true,
    getIcon: computed(() => api.computedGetIcon()),
    getTitle: computed(() => api.computedGetTitle()),
    contentVisible: false,
    contentDescribeHeight: 0,
    contentDefaultHeight: 0,
    contentMaxHeight: constants.CONTENT_MAXHEUGHT,
    scrollStatus: false
  })
export interface IAlertState {
  show: boolean
  getIcon: ComputedRef<string>
  getTitle: ComputedRef<string>
  contentVisible: boolean
  contentDescribeHeight: number
  contentDefaultHeight: number
  contentMaxHeight: number
  scrollStatus: boolean
}
image

kagol avatar Aug 09 '23 00:08 kagol

For more information on how to supplement the type declaration of a component, please refer to discussion #252

kagol avatar Aug 09 '23 00:08 kagol

The TypeScript type declaration of the component needs to be continuously improved.

kagol avatar Dec 09 '23 00:12 kagol