Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/uni-helper/uni-ui-types

uni-ui 组件类型
https://github.com/uni-helper/uni-ui-types

Last synced: 2 days ago
JSON representation

uni-ui 组件类型

Awesome Lists containing this project

README

        

# @uni-helper/uni-ui-types

**该仓库已废弃,请查看 [@uni-helper/uni-types](https://github.com/uni-helper/uni-types) 获取最新支持。**

[![License](https://img.shields.io/github/license/uni-helper/uni-ui-types)](https://github.com/uni-helper/uni-ui-types/blob/main/LICENSE)

[![npm](https://img.shields.io/npm/v/@uni-helper/uni-ui-types)](https://www.npmjs.com/package/@uni-helper/uni-ui-types)

- [@uni-helper/uni-app-types](https://github.com/uni-helper/uni-app-types) 提供 `uni-app` 组件类型
- [@uni-helper/uni-cloud-types](https://github.com/uni-helper/uni-cloud-types) 提供 `uni-cloud` 组件类型
- [@uni-helper/uni-ui-types](https://github.com/uni-helper/uni-ui-types) (当前仓库)提供 `uni-ui` 组件类型

基于 [这个 PR](https://github.com/vuejs/core/pull/3399),[Vue - Official](https://marketplace.visualstudio.com/items?itemName=Vue.volar)(即 Volar) 已经支持。

安装之后,请参考 [这里](https://cn.vuejs.org/guide/typescript/overview.html) 配置你的 VS Code。启用或安装后需要重启 VS Code。

维护直到官方类型推出。

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

类型源代码在 [uni-helper/uni-ui-types](https://github.com/uni-helper/uni-ui-types)。欢迎提交 ISSUE 和 PR 改进类型。

## 使用

### 配置

- 安装依赖

```shell
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

```json
{
"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

```json
{
"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

```json
{
"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

```json
{
"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

```json
{
"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` 导出的类型为变量标注类型。

```vue

import { ref } from 'vue';
import type { UniBadgeType, UniBadgeOnClick } from '@uni-helper/uni-ui-types';

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

```

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

```vue

import { ref } from 'vue';

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

```

请查看 [types](./types) 了解所有类型。

## 致谢

最初在 [uni-base-components-types](https://github.com/satrong/uni-base-components-types) 得到了灵感。

基于 [这个 PR](https://github.com/satrong/uni-base-components-types/pull/5) 完成。