当前位置: 首页 > news >正文

AI心理健康助手项目遇到的问题及解决方法

前端

1.问题1:侧边菜单的高度要占据全屏的高度


(1)问题是为什么没有占据全部:因为外层父组件的高度是100vh,但是里面的菜单内容没有继承到父组件的100%的高度。
(2)怎么解决:去父组件BackendLayout.vue文件中修改:

<el-containerclass="main-container"><Sidebar/><el-container>el-container中添加class="main-container" 并在style里面的.backend-layout {}添加 .main-container { height: 100%; }

同时检查发现aside-menu里也没继承100%
解决办法:
(1)找到el-menu所在的Sidebar.vue文件,先添加一个class=“menu-style”
(2)在<style>里找到el-menu对应的层级,添加

.menu-style { height: 100%;}

注意:层级一定要写对

2.右上导航栏绑定点击事件时出错


原因:没有添加触发的位置
解决方法:添加以下代码

<divclass="flex-box"><el-avatarsrc="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"/><pclass="user-name">admin</p><el-icon><ArrowDown/></el-icon></div>

3.实现中间内容区域

**知识文章、咨询记录、情感记录:基本上由列表和搜索框组成
*可以把长得相似的可以复用的可以考虑封装成组件(新建pageHead.vue)
主内容的设置在Backlayout文件里面。但是是分页面的,在具体的view文件夹内下新建每个页面的vue文件

4.使用pinia(官方推荐的状态管理库)

Pinia 是 Vue.js 官方推荐的状态管理库。它用于在跨组件或页面间共享和管理响应式数据,可以看作是 Vuex 的下一代替代品
使用 Pinia 主要分为三步:安装、创建 Store、在组件中使用。Pinia 的核心概念非常清晰,与 Vue 组件中的 data、computed 和 methods 一一对应,这使得它极易上手。

1. 安装
npminstallpinia
2.在 Vue 应用中初始化

在你的应用入口文件(如 main.js 或 main.ts)中创建 Pinia 实例并挂载

import{createApp}from'vue'import{createPinia}from'pinia'importAppfrom'./App.vue'constpinia=createPinia()constapp=createApp(App)app.use(pinia)// 挂载 Pinia 插件app.mount('#app')
3. 创建一个 Store (以计数器为例)

在 src/stores 目录下创建一个文件,例如 counter.js。使用 defineStore 函数来定义 Store。

  • 第一个参数是 Store 的唯一 ID。
  • 第二个参数可以是一个选项对象(Options Store)或一个函数(Setup Store)。
选项式 (Options Store) 写法
// stores/counter.jsimport{defineStore}from'pinia'exportconstuseCounterStore=defineStore('counter',{// State: 返回初始状态的函数state:()=>({count:0,name:'Pinia'}),// Getters: 类似计算属性getters:{doubleCount:(state)=>state.count*2,},// Actions: 包含业务逻辑actions:{increment(){this.count++},},})

在本项目中怎么定义Store的呢
因为是前后端分离的项目,所以,在stores文件夹下创建admin.js(后端),内容为:

import{defineStore}from'pinia'import{ref}from'vue'exportconstuseAdminStore=defineStore('admin',()=>{//响应式的状态,要通过ref函数创建constisCollapse=ref(false)consttoggleCollapse=()=>{isCollapse.value=!isCollapse.value}return{isCollapse,toggleCollapse}})

创建和定义完成后,怎么使用呢
在本项目中,找到newBar文件中需要操作的按钮组件添加一个@click="handleCollapse
并在<script中添加

import{useAdminStore}from'@/stores/admin.js';consthandleCollapse=()=>{useAdminStore().toggleCollapse()}

然后在需要实现侧边栏收缩的组件里<el-menu加上:collapse=“isCollapse”
那么问题就出现了,此时收缩,收缩为

这个鬼样子。
解决办法为
左上角区域为自己创建的,所以会乱码。(1)给外围的aside添加一个宽度,让这个宽度跟菜单进行一个同步的变化;
(2)div区域的图标和文案部分再做一个对应的调整(在<div class="info-card">插入v-show="!isCollapse"
但是此时有个收缩的动画导致的变形,在<el-menu加入:collapse-transition="false"不显示收缩动画
到这步,右边的内容为跟随一起收缩。因为al-side的宽度写死了,所以导致这个问题。现在把宽度改为动态的::width="isCollapse ? '64px' : '264px'"

4.列表部分实现(封装TableSearch组件)

响应式布局:表单根据页面大小变化
有个报错:
错误原因el-option得放在el-select里面。
解决办法,把

<templatev-if="item.comp === 'select'"><el-optionlabel="全部"value=""></el-option><el-optionv-for="opt in item.options":key="opt.value":label="opt.label":value="opt.value"></el-option></template>

放到component里面

<component:is="isComp(item.comp)":placeholder="item.placeholder"><templatev-if="item.comp === 'select'"><el-optionlabel="全部"value=""></el-option><el-optionv-for="opt in item.options":key="opt.value":label="opt.label":value="opt.value"></el-option></template></component>

现在还有个问题,数据的问题。form要收集用户填写的数据:给el-form添加一个属性:model=“formData”,这个属性对应的是一个响应式数据

http://www.jsqmd.com/news/1288639/

相关文章:

  • B站视频下载神器:bilibili-downloader完全使用指南
  • 想先就业再开店西点培训学校哪家好|冲动开店3个最常见风险(含真实案例) - 朔香陶瓷
  • 如何永久保存微信聊天记录:WeChatMsg留痕的完整数据守护指南
  • Ansible AWX Operator 项目教程
  • 为什么你的AI剧情总被玩家吐槽“假”?3大认知心理学漏洞+2种情感锚点校准法(附玩家眼动实验数据)
  • 告别IDM试用期烦恼:开源脚本让你的下载管理器永不过期
  • Apicurio Registry CLI工具:命令行高效管理Schema的终极指南
  • 干粉灭火剂快速检测仪哪家质量好?上海析谱仪器品控细节全解析 - 品牌推荐大师1
  • Hugging Face或ModelScope上下载模型或数据集
  • 2026年广州海参花胶一件代发货源推荐指南 - 起跑123
  • 从零到一:让AI成为你的视频创作导演
  • 搬家配送一体化系统搭建,片区订单分区调度架构拆解
  • 单片机毕业设计-基于 STC 单片机的双模式智能窗帘及风扇联动装置设计 基于 51 单片机的环境感知智能窗帘调控系统设计(011501)
  • 武汉新华电脑学校 2026 招生报名入口 机器人维修 / 编程开发报考流程说明 - 武汉中职最新信息发布
  • GetQzonehistory:永久珍藏你的QQ空间青春记忆时光机
  • 模拟电路面试题概括
  • 74HC系列芯片超详细入门笔记
  • 企业接入大模型 API 的成本把控
  • 2026炉膛耐火材料厂家怎么选?认准这几点不踩坑 - 商业新知
  • 压滤机滤布寿命识别——跳出IT思维做工业现场解决方案
  • 如何3步掌握Windows窗口调整:终极窗口强制调整解决方案
  • 2026年最新粒碱/片碱/纯碱生产厂家综合实力解析 - 庆弘祥化工值得关注 - 董不懂啊
  • 专本同修可以同时拿证吗?浙江优质自考助学专升本机构汇总 - 博客湾
  • 微信聊天记录导出:如何永久保存你的数字记忆?
  • 10分钟上手SmoothLife:基于Numpy的生命游戏加速实现教程
  • 2026年工业夹爪选型核心指标:精密工业夹爪品牌选用推荐 - 品牌深度评测
  • Python列表从入门到精通:核心操作、性能优化与实战应用
  • 【2014-02-11】CSS学习备注
  • 不锈钢水管常见问题解答(2026专家版) - 全域品牌推荐
  • MAA明日方舟助手:重新定义游戏自动化的终极开源解决方案