当前位置:网站首页>创新实训(十一)开发过程中的一些bug汇总
创新实训(十一)开发过程中的一些bug汇总
2022-06-12 12:59:00 【普什清决】
前言
这是对开发过程中一些比较有意义、难缠的bug的记录和总结。
修改bug查阅的文档、博客至少上百篇,也算是血泪教训了。
记录在此,一是证明自己的开发过程,二是总结汇总,避免重复的错误再犯。
1、自定义规则和绑定表单如下:
注意规则名字不要包含诸如“name”这种关键字,否则会报错
Taskform: {
Task_name: "",
Task_class: "",
Task_minmember: 1, //最少人数,设定1-10
Task_model: "", //模型(py文件,格式是事先规定好的,存储位置目前尚未确定) 这里前端要实现文件选取功能
Task_premodel: true, //默认True是随机生成。预处理模型(初始模型,可选项,默认是随机生成,存储位置目前尚未确定)
Task_dataset: "", //数据集可选(保存在训练端,不同训练端数据集独立)
},
rules:
{
Task_name: [
{
required: true,
message: "请输入任务名称",
trigger: "blur",
},
{
min: 3,
max: 20,
message: "长度应该在3-20个字符之间",
trigger: "blur",
},
],
},
2、input输入框图标不显示的问题
参考下面这个,用插槽的方式解决
elementPlus使用icon图标不显示解决方法_小黑ya_的博客-CSDN博客_element icon无法显示
Icon 图标 | Element Plus (gitee.io)
或者直接这样,prefix-icon前面不要加冒号,也可:
<el-input clearable :input-style="{ 'user-select': 'none' }" v-model="ruleForm.username" placeholder="账号" prefix-icon="Key" >
</el-input>
3、Tailwind!这个我找了好久啊!可以实现直接在class中输入样式。
Tailwind CSS 中文文档 - 无需离开您的HTML,即可快速建立现代网站。
在 Vue 3 和 Vite 安装 Tailwind CSS - Tailwind CSS 中文文档
别忘了安装以及生成和修改配置文件!
原来的模板用的是unocss,但是没有合适的文档,我就用了这个。
4、导入第三方图标库的方法
引入阿里iconfont图标方法以及注意事项_tuonioooo的博客-CSDN博客_iconfont图标
5、点击登录后只变地址页面不刷新
使用element插件点击跳转时报错form-item.vue:315 Uncaught (in promise) TypeErelForm.removeField is not a function_if时光重来的博客-CSDN博客
这里还要注意,所有的el-form-item项必须被包裹在el-form之内!不能像模板那样单独摘出来!
6、单选框这里label绑定值的类型只能是string/int,所以绑定的数据最好不要用Boolean类型,这里用01替代。
ElementUI之el-radio中label和:label的区别【避免踩坑】_urnotzkey的博客-CSDN博客_el-radio label
别忘了这里加了冒号!
<el-form-item label="初始模型" prop="Task_premodel">
<el-radio-group v-model="Taskform.Task_premodel">
<el-radio :label=0 @click="premodle_fromuser(false)" >随机生成</el-radio >
<el-radio :label=1 @click="premodle_fromuser(true)" >自选</el-radio >
</el-radio-group>
7、组件的属性,有些绑定的时候别忘了开头加上:冒号!
8、页面跳转时的参数传递,使用params方式实现。
Vue3x路由跳转及传参(useRouter)_云飞扬扬的博客-CSDN博客_vue.use(router)
9、主题色暗黑模式引入
解决报错:Module not found: Error: Can‘t resolve ‘element-plus/lib/theme-chalk/index.css‘_敲代码的柯基的博客-CSDN博客
这里写了很久。element官方的说法也有点问题,相当于引入了一个官方写好的css文件。在index.html中引入。但是没办法切换?
那怎么切换呢?我用了最原始的dom树获取到整个html文件,然后按钮点击触发的事件是改变整个html的类名即可实现,算是取了一个巧。
总的来说,相当于引入了一个官方写好的css文件。在index.html中引入,把类名写为dark,即可实现暗黑模式。
但是没办法切换?好办,给个按钮,能控制整个页面的类名就好了。
怎么控制?这里用Vue常规手段比较难实现,所以我动了一下脑子,决定简单粗暴,用最原始的HTML获取和操作DOM树的方法。获取整个DOM对象,然后用JavaScript的函数更改类名即可!
changeTheme(){
//这里用了很原始的dom树,不得已之举了属于是
if(this.dark){
document.getElementsByClassName("WholePage")[0].setAttribute("class","WholePage dark");
}
else{
document.getElementsByClassName("WholePage")[0].setAttribute("class","WholePage");
}
},
10、icon图标导入
elementplus自带的icon比较够用了。但是向官网的导入方式经常导入不了。
两种解决办法。
第一种,不用:icon=“名字”,而是直接<el-icon><Notebook /></el-icon>
第二种,有些使用必须只能填名字,那就先import,然后在data里面像这样
Edit: Edit,
Picture: Picture,
UploadFilled: UploadFilled,
,后面就能直接输入名字了。
11、引导页
对于新用户,引导页是一种很实用的设计。这里使用了dirver.js第三方库。
官方地址:
kamranahmedse/driver.js: A light-weight, no-dependency, vanilla JavaScript engine to drive the user’s focus across the page (github.com)
也可以参考这个博客:
Vue 页面引导效果(首次登录新用户引导) driver.js 引导页_织_网的博客-CSDN博客_vue引导页面提示功能开发
具体来说在layout写好driver实例,创建step.js文件,在mounted函数挂好初始化,然后在子组件的按钮上调用父组件的方法(this.$parent.method()),即可开始引导页操作。
12、使用Depcheck第三方库去除VUE不必要的依赖包
参考:https://blog.csdn.net/zhuzhoulin/article/details/114824714
D:\workplace\asynchronous-ldx-new\asynchronous-federated-learning-visual-platform\Client\client_front\node_modules\.bin>.\depcheck D:\workplace\asynchronous-ldx-new\asynchronous-federated-learning-visual-platform\Client\client_front
Unused dependencies
* core-js
* depcheck
* qs
Unused devDependencies
* @babel/core
* @babel/eslint-parser
* @vue/cli-plugin-babel
* @vue/cli-plugin-eslint
* autoprefixer
* less
* less-loader
* node-sass
* postcss
* sass-loader
* tailwindcss
* unocss
Missing dependencies
* dayjs: .\src\view\About.vue
core-js depcheck qs
@babel/core @babel/eslint-parser @vue/cli-plugin-babel @vue/cli-plugin-eslint autoprefixer less less-loader node-sass postcss sass-loader tailwindcss unocss
边栏推荐
- 嵌入式系统概述2-嵌入式系统组成和应用
- Binary tree (serialization)
- Embedded system hardware composition - embedded system hardware architecture
- 数组——双指针技巧秒杀七道数组题目
- Stm32f1 and stm32cubeide programming examples - device driver -eeprom-at24c256 driver
- Stm32f1 and stm32subeide programming example - device driver -dht11 temperature sensor driver
- Mui login database improvement and Ajax asynchronous processing [mui+flask+mongodb+hbuilderx]
- import torch_geometric 的Data 查看
- Attack and defense world re (New 1 hand zone) questions 1-12
- Dasctf Sept x Zhejiang University of technology autumn challenge Web
猜你喜欢

Dasctf Sept x Zhejiang University of technology autumn challenge Web

2022 ARTS|Week 23

安全KNN

MUI登录数据库完善与AJAX异步处理【MUI+Flask+MongoDB+HBuilderX】

A "murder case" caused by ES setting operation

快速下载谷歌云盘大文件的5种方法

嵌入式驱动程序设计

403 you don't have permission to access this resource

Freshman girls' nonsense programming is popular! Those who understand programming are tied with Q after reading

Theoretical knowledge of improved DH parameters and standard DH parameters of manipulator
随机推荐
数组——双指针技巧秒杀七道数组题目
Iterator, generator generator details
Five ways to quickly download large files from Google cloud disk
list和dict的应用
Newton method for solving roots of polynomials
八大误区,逐个击破(2):性能差?应用程序少?你对云的这些担心很多余!
Summary of knowledge points of ES6, ES7, es8, es9, ES10, es11 and ES12 (interview)
【云原生 | Kubernetes篇】深入了解Deployment(八)
VTK image sequence mouse interactive flipping
Overview of embedded system 1- definition, characteristics and development history of embedded system
提升管道效率:你需要知道如何识别CI/CD管道中的主要障碍
The 4th Zhejiang CTF preliminary contest web pppop
Help you with everything from the basics to the source code. Introduce the technology in detail
A "murder case" caused by ES setting operation
unittest框架
Getting to know blob objects
Theoretical knowledge of improved DH parameters and standard DH parameters of manipulator
位图、布隆过滤器和哈希切分
Uniapp wechat applet long press the identification QR code to jump to applet and personal wechat
手把手教你IDEA创建SSM项目结构