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,请确保业务项目已安装并正确配置。
|