Skip to content
This repository was archived by the owner on Aug 6, 2024. It is now read-only.
/ uni-ui-types Public archive

uni-ui 组件类型

License

Notifications You must be signed in to change notification settings

uni-helper/uni-ui-types

Folders and files

NameName
Last commit message
Last commit date

Latest commit

67e07d6 · Aug 6, 2024
May 15, 2024
May 15, 2024
May 15, 2024
Jun 17, 2024
Mar 4, 2024
Nov 16, 2022
Nov 16, 2022
May 15, 2024
Aug 9, 2023
Dec 11, 2023
May 15, 2024
Jun 17, 2024
Nov 16, 2022
Aug 6, 2024
May 15, 2024
May 15, 2024
May 15, 2024
May 15, 2024
Jun 17, 2024
May 15, 2024
May 15, 2024
May 15, 2024
May 15, 2024
Apr 26, 2023

Repository files navigation

@uni-helper/uni-ui-types

该仓库已废弃,请查看 @uni-helper/uni-types 获取最新支持。

License

npm

基于 这个 PRVue - Official(即 Volar) 已经支持。

安装之后,请参考 这里 配置你的 VS Code。启用或安装后需要重启 VS Code。

维护直到官方类型推出。

类型和文档的冲突之处,请以文档为准。

类型源代码在 uni-helper/uni-ui-types。欢迎提交 ISSUE 和 PR 改进类型。

使用

配置

  • 安装依赖

    npm i -D @uni-helper/uni-app-types @uni-helper/uni-ui-types
    yarn v2/v3

    请参考 文档 设置 nodeLinkernode_modules

    pnpm

    请参考 文档 设置 shamefully-hoisttrue

  • 配置 tsconfig.json,确保 compilerOptions.types 中含有 @dcloudio/types@uni-helper/uni-app-types@uni-helper/uni-ui-types,且 include 包含了对应的 vue 文件

    2.0.14 <= Vue Language Features (Volar) & vue-tsc <= 2.0.21
    {
      "compilerOptions": {
        "types": [
          "@dcloudio/types",
          "@uni-helper/uni-app-types",
          "@uni-helper/uni-ui-types"
        ]
      },
      "vueCompilerOptions": {
        "plugins": ["@uni-helper/uni-app-types/volar-plugin"]
      },
      "include": ["src/**/*.vue"]
    }
    1.7.12 <= Vue Language Features (Volar) & vue-tsc < 2.0.14
    {
      "compilerOptions": {
        "types": [
          "@dcloudio/types",
          "@uni-helper/uni-app-types",
          "@uni-helper/uni-ui-types"
        ]
      },
      "vueCompilerOptions": {
        "nativeTags": ["block", "component", "template", "slot"]
      },
      "include": ["src/**/*.vue"]
    }
    1.5.1 <= Vue Language Features (Volar) & vue-tsc < 1.7.12
    {
      "compilerOptions": {
        "types": [
          "@dcloudio/types",
          "@uni-helper/uni-app-types",
          "@uni-helper/uni-ui-types"
        ]
      },
      "include": ["src/**/*.vue"]
    }
    1.0.10 <= Vue Language Features (Volar) & vue-tsc < 1.5.1
    {
      "compilerOptions": {
        "types": [
          "@dcloudio/types",
          "@uni-helper/uni-app-types",
          "@uni-helper/uni-ui-types"
        ]
      },
      "vueCompilerOptions": {
        "nativeTags": ["block", "component", "template", "slot"]
      },
      "include": ["src/**/*.vue"]
    }
    0.34.16 <= Vue Language Features (Volar) & vue-tsc < 1.0.10
    {
      "compilerOptions": {
        "types": [
          "@dcloudio/types",
          "@uni-helper/uni-app-types",
          "@uni-helper/uni-ui-types"
        ]
      },
      "vueCompilerOptions": {
        "experimentalRuntimeMode": "runtime-uni-app"
      },
      "include": ["src/**/*.vue"]
    }
  • 重启编辑器 / IDE

标注类型

推荐使用 @uni-helper/uni-ui-types 导出的类型为变量标注类型。

<script setup lang="ts">
import { ref } from 'vue';
import type { UniBadgeType, UniBadgeOnClick } from '@uni-helper/uni-ui-types';

const type = ref<UniBadgeType>('default');
const onClick: UniBadgeOnClick = (event) => {
  ...
};
</script>

<template>
  <uni-badge :type="type" @click="onClick"></uni-badge>
</template>

也可以直接使用命名空间来为变量标注类型。

<script setup lang="ts">
import { ref } from 'vue';

const type = ref<UniHelper.UniBadgeType>('default');
const onClick: UniHelper.UniBadgeOnClick = (event) => {
  // ...
};
</script>

<template>
  <uni-badge :type="type" @click="onClick"></uni-badge>
</template>

请查看 types 了解所有类型。

致谢

最初在 uni-base-components-types 得到了灵感。

基于 这个 PR 完成。

About

uni-ui 组件类型

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 8

Languages