# solid-quasar
**Repository Path**: complex/solid-quasar
## Basic Information
- **Project Name**: solid-quasar
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-01-04
- **Last Updated**: 2026-01-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Quasar App (digital-quasar)
A Quasar Project
## Install the dependencies
```bash
yarn
# or
npm install
```
### Start the app in development mode (hot-code reloading, error reporting, etc.)
```bash
quasar dev
```
### Lint the files
```bash
yarn lint
# or
npm run lint
```
### Format the files
```bash
yarn format
# or
npm run format
```
### Build the app for production
```bash
quasar build
```
### Customize the configuration
See [Configuring quasar.conf.js](https://quasar.dev/quasar-cli/quasar-conf-js).
## 功能
1. 权限
2. 表单
3. 流程
4. 定时任务
5. 代码生成
## 缺陷
1. 弹出框
2. 日期和时间
3. 树形表格
## 执行策略问题
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
## 样例
https://github.com/pratik227/quasar-admin
## 设计风格
- 适当的渐变色突出重点
- 包豪斯风格图形
- 裸眼3D图形
- 新的毛玻璃效果更加去注重功能说明,用在视觉强调的地方
- 沉浸式界面,将功能与场景融合设计
- 杂志化排版
- 拟物化图标,不过这种风格也不能大面积运用在界面中,我们可以运用在一些关键功能入口设计上
- 圆形的运用
- 新拟态界面,大量使用了柔和的阴影和微弱渐变,使设计既具有未来感又具有现实感
- 按钮颜色的约定:新增类的使用primary,更改类的使用warning,删除类的使用negative,功能类的使用secondary
## new vue page
1. 继承参数,传递布局(必须)
```vue
const selectDept = defineProps(['selectDept'])
const emits = defineEmits(['rightShow', 'leftShow', 'breadShow'])
onMounted(() => {
emits('rightShow', false)
emits('leftShow', true)
emits('breadShow', true)
...
})
```
2. 响应式声明(必须)
```vue
const data = reactive({
init:{}, //初始化参数,一般包含表格数据、分页常量和字段信息
search:{}, //查询参数,一般就是个keyword
state:{}, //状态值,窗口高度、弹出框显示控制、编辑状态等
form:{} //表单
})
```
3. 监听保持响应式
```vue
watch(() => data.search.keyword, () => {
data.init.pagination.currentPage = 1
})
```
4. 匹配高度
```vue
:style="{'max-height':data.state.browserHeight,'height':data.state.browserHeight}"
...
const getHeight = () => {
data.state.browserHeight = window.innerHeight - 110 + 'px' //获取浏览器高度减去顶部导航栏
}
...
onMounted(() => {
...
window.addEventListener('resize', getHeight)
getHeight()
...
})
```
5. 新增信息功能
``` vue
const baseAdd = () => {
data.state.editDialog = true
data.state.addStatus = true
data.state.dialogTitle = constant.addTitle
resetForm()
}
...
const addSubmit = debounce(() => {
post("/v6/dictionary", data.form).then(response => {
Tooltip(response)
nextTick(() => {
afterSubmit()
})
})
}, constant.timeout)
```
6. 编辑信息功能
``` vue
const baseEdit = (row) => {
data.state.editDialog = true
data.state.addStatus = false
data.state.dialogTitle = constant.editTitle
resetForm()
data.form = Object.assign({}, row)
}
...
const updateSubmit = debounce(() => {
patch("/v6/dictionary", data.form).then(response => {
Tooltip(response)
nextTick(() => {
afterSubmit()
})
})
}, constant.timeout)
```
7. 统一Notify,注意在工具方法内对应response格式的匹配性调整
``` vue
import {Tooltip} from 'src/utils'
...
Tooltip(response)
...
```
8. 常量使用
``` vue
import {appConstant} from 'src/stores/constant'
const constant = appConstant()
...
pagination: constant.pagination,
...
```
9. axios使用
``` vue
import {delById, get, patch, post} from 'src/api/Manage'
```
10. Dialog插件
``` vue
import {Dialog} from 'quasar'
Dialog.create({})
```
11. 防抖
``` vue
import {debounce} from 'quasar'
debounce(function(),constant.timeout)
```
12. 分页处理
``` vue
...
pagination: Object.assign({}, constant.pagination),
...
const handlePageChange = ({currentPage, pageSize}) => {
data.init.pagination.currentPage = currentPage
data.init.pagination.pageSize = pageSize
baseInit()
}
```
13. 模糊查询
``` vue
watch(() => data.search.keyword, () => {
data.init.pagination.currentPage = 1
baseInit()
})
```
14. 表格内容减少空白,使用q-td的auto-width
``` vue
{{ props.row.description }}
```
15. 表格头部固定
``` vue