当前位置:网站首页>创新实训(十一)开发过程中的一些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
边栏推荐
猜你喜欢
随机推荐
Soft test network engineer notes
Uniapp wechat applet long press the identification QR code to jump to applet and personal wechat
Installation of pagoda
2022 ARTS|Week 23
leetcode 47. Permutations II 全排列 II(中等)
Vant tab bar + pull-up loading + pull-down refresh demo van tabs + van pull refresh + van list demo
Openstack network
Jacobian matrix IK of manipulator
STM32F1与STM32CubeIDE编程实例-设备驱动-DHT11温度温度传感器驱动
A "murder case" caused by ES setting operation
Part of the fourth Zhejiang CTF finals
itk neighbhood
[cloud native | kubernetes] kubernetes networkpolicy
Source of routing information
442个作者100页论文!谷歌耗时2年发布大模型新基准BIG-Bench | 开源
R语言可视化分面图、假设检验、多变量分组t检验、可视化多变量分组分面条形图(faceting bar plot)并添加显著性水平、添加抖动数据点(jitter points)
Differences and recommended uses of VaR, let and const (interview)
VTK image sequence mouse interactive flipping
Buu question brushing record - 6
快速下载谷歌云盘大文件的5种方法









