r-util-js/packages/uview-plus/README.md

87 lines
2.0 KiB
Markdown
Raw Normal View History

2026-04-20 17:54:26 +08:00
# @r-utils/uview-plus
2026-05-28 11:30:35 +08:00
在项目已使用 [uview-plus](https://uview-plus.jiangruyi.com/) 的前提下,提供适用于 uview-plus 组件的组合式 API Hooks。
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
## 适用范围
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
- 适用于已接入 `uview-plus` 的项目。
- 典型场景是 uni-app + Vue3 + uview-plus。
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
## 不适用范围
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
- 未使用 `uview-plus` 的项目不建议使用。
- 不适用于 Vue2 项目。
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
## 安装
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
```bash
pnpm add @r-utils/uview-plus
```
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
## 导入方式
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
### 推荐:根入口导入
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
大多数场景推荐从根入口导入,路径简单,使用心智负担更低。
2026-04-20 17:54:26 +08:00
```ts
2026-05-28 11:30:35 +08:00
import {
usePickerSingle,
usePicker,
useDateTimePicker,
useCalendar,
} from "@r-utils/uview-plus";
2026-04-20 17:54:26 +08:00
```
2026-05-28 11:30:35 +08:00
### 兼容:子路径导入
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
如果你希望模块边界更清晰,也可以使用子路径导入。两种方式都支持。
2026-04-20 17:54:26 +08:00
```ts
2026-05-28 11:30:35 +08:00
import { usePickerSingle } from "@r-utils/uview-plus/picker-single";
import { usePicker } from "@r-utils/uview-plus/picker";
import { useDateTimePicker } from "@r-utils/uview-plus/datetime-picker";
import { useCalendar } from "@r-utils/uview-plus/calendar";
2026-04-20 17:54:26 +08:00
```
2026-05-28 11:30:35 +08:00
## 导出模块
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
| 子路径 | 说明 |
| --- | --- |
| `@r-utils/uview-plus/picker-single` | 单列 picker Hook |
| `@r-utils/uview-plus/picker` | 多列 picker Hook |
| `@r-utils/uview-plus/datetime-picker` | 时间选择器 Hook |
| `@r-utils/uview-plus/calendar` | 日历选择器 Hook |
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
## 使用示例
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
### 单列选择器
2026-04-20 17:54:26 +08:00
```ts
2026-05-28 11:30:35 +08:00
import { usePickerSingle } from "@r-utils/uview-plus";
const picker = usePickerSingle({
list: [
{ text: "启用", value: 1 },
{ text: "禁用", value: 0 },
],
});
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
picker.showPicker();
```
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
### 子路径导入
2026-04-20 17:54:26 +08:00
```ts
2026-05-28 11:30:35 +08:00
import { usePicker } from "@r-utils/uview-plus/picker";
const picker = usePicker({
columns: [[{ text: "浙江", value: "zhejiang" }]],
});
2026-04-20 17:54:26 +08:00
```
2026-05-28 11:30:35 +08:00
## 注意事项
2026-04-20 17:54:26 +08:00
2026-05-28 11:30:35 +08:00
- 推荐优先使用根入口导入;如果需要更精确的模块边界,也可以使用子路径导入。
- 本包依赖 Vue3 和 uview-plus请确保业务项目已安装并正确配置。