Files
dabai_web_f/docs/uView使用指南.md
2026-03-17 14:52:07 +08:00

152 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# uView-Plus 使用指南
## 已完成集成步骤
1. ✅ 安装依赖:`npm install uview-plus --save`
2. ✅ 在 `main.js` 中引入并注册
3. ✅ 创建 `src/uni.scss` 并引入 uView 主题变量
4. ✅ 在 `vite.config.js` 中配置 SCSS 预处理器
5. ✅ 在 `pages.json` 中配置 easycom 自动引入
## 配置说明
### uni.scss
```scss
/* uView-Plus 主题变量配置 */
@import 'uview-plus/theme.scss';
```
### vite.config.js
```javascript
css: {
preprocessorOptions: {
scss: {
additionalData: '@import "@/uni.scss"; @import "@/styles/variables.scss"; @import "@/styles/mixins.scss";',
api: 'modern-compiler',
silenceDeprecations: ['legacy-js-api', 'import']
}
}
}
```
### pages.json
```json
"easycom": {
"autoscan": true,
"custom": {
"^u-(.*)": "uview-plus/components/u-$1/u-$1.vue"
}
}
```
## 常用组件示例
### 1. 按钮 (u-button)
```vue
<u-button type="primary" text="主要按钮"></u-button>
<u-button type="success" text="成功按钮"></u-button>
<u-button type="warning" text="警告按钮"></u-button>
```
### 2. 加载动画 (u-loading-icon)
```vue
<u-loading-icon mode="spinner"></u-loading-icon>
<u-loading-icon mode="circle"></u-loading-icon>
```
### 3. 弹窗 (u-popup)
```vue
<u-popup v-model:show="show" mode="bottom" :round="10">
<view class="content">弹窗内容</view>
</u-popup>
```
### 4. 输入框 (u-input)
```vue
<u-input v-model="value" placeholder="请输入内容"></u-input>
```
### 5. 表单 (u-form)
```vue
<u-form :model="form" ref="formRef">
<u-form-item label="姓名" prop="name">
<u-input v-model="form.name" placeholder="请输入姓名"></u-input>
</u-form-item>
</u-form>
```
### 6. Toast 提示
```javascript
// 在组件中使用
this.$u.toast('提示内容')
```
### 7. 日历 (u-calendar)
```vue
<u-calendar v-model:show="show" @confirm="confirm"></u-calendar>
```
### 8. 时间选择器 (u-datetime-picker)
```vue
<u-datetime-picker
v-model:show="show"
v-model="currentDate"
mode="datetime"
@confirm="confirm"
></u-datetime-picker>
```
## 可以优化的现有组件
### LoadingOverlay.vue
可以使用 `u-loading-icon` 替代自定义加载动画:
```vue
<template>
<u-overlay :show="visible">
<view class="loading-box">
<u-loading-icon mode="spinner" size="40" color="#ffffff"></u-loading-icon>
</view>
</u-overlay>
</template>
```
### BookingPopup.vue
可以使用 `u-popup` 替代自定义弹窗:
```vue
<u-popup
v-model:show="visible"
mode="bottom"
:round="16"
:closeable="true"
@close="handleClose"
>
<!-- 弹窗内容 -->
</u-popup>
```
可以使用 `u-form``u-form-item` 优化表单:
```vue
<u-form :model="formData" ref="formRef" :rules="rules">
<u-form-item label="姓名" prop="name" required>
<u-input v-model="formData.name" placeholder="请填写您的姓名"></u-input>
</u-form-item>
<u-form-item label="电话" prop="phone" required>
<u-input v-model="formData.phone" type="number" maxlength="11"></u-input>
</u-form-item>
</u-form>
```
可以使用 `u-calendar` 替代自定义日期选择器
## 文档链接
- 官方文档https://uview-plus.jiangruyi.com/
- 组件列表https://uview-plus.jiangruyi.com/components/intro.html
## 注意事项
1. uview-plus 是专为 Vue3 + uni-app 设计的组件库
2. 组件通过 easycom 自动引入,无需手动 import
3. 所有组件以 `u-` 开头
4. 支持主题定制和暗黑模式