Files
dabai_web_f/docs/uView使用指南.md

152 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

2026-03-17 14:52:07 +08:00
# 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. 支持主题定制和暗黑模式