在使用 element UI 的 el-image 时,首次加载图片出现白色闪现效果
这是应为 组件内 在加载前和加载中是一个类名为el-image__placeholder的div标签,在加载后和加载出错后的处理分别是一个div和img标签。
解决方法:在加载前和加载后的样式上做更改,可以重写覆盖类名el-image__placeholder和el-image__error来自定义自己想要的效果了
1 | // 将默认的白色背景去除 |
vue 路由 tab切换时,动态判断左右切换过渡动画
预置三种动画
- opacity-scale
- switch-right
- switch-left
1 | /** |
设置路由
通过设置路由属性 meta.sort 来记录路由位置
1 | const routers = [ |
监听路由变化
1 | { |
退出登录再登录提示路由重复问题
本质上就是路由重复注册导致的提示,我们可以在每次登出时,清除注册路由
在 router 文件中
1 | import Vue from 'vue' |
退出登录时调用
1 | loginOut() { |
用户在指定页面因token过期而导致返回登录页,登陆后回到此页面
需要在 axios 响应拦截时处理
1 | if(code == 401) { |
在全局路由前置守卫合适的地方添加判断
1 | let redirect = new URLSearchParams(location.hash.slice(7)).get('redirect'); |
vite 动态引入图片
需求:通过变量形式加载img。
1 | const getAssetsFile = (url) => { |
此方式引入图片开发环境没问题,但是打包图片404
解决方式1
直接导入再使用
1 | import icon_1 from '@/assets/icon/1.png' |
1 | <div v-for="(item, index) in array"> |
解决方式2
全部导入,通过路径去匹配
1 | const getAssetsFile = (name) => { |
element-ui/plus 弹窗组件替换背景
之前替换背景样式总是不免一番大改,如果背景图空白较大,还得调整下弹窗的布局。可谓麻烦之极。所以突发奇想,有啥办法可以一劳永逸,至少不会影响弹窗的布局,比如让背景图在弹窗后面出现。这样只需将弹窗背景设置为透明就没有其他问题了。
1 | .el-dialog { |
利用伪类将弹窗等大扩展一下将原来的弹窗包裹进去,这样就可以简单的实现替换弹窗风格了
通过伪类添加图标
伪类支持url, 但是这样会有个问题,缩放时图片的尺寸不受控。如果做了 px2rem 不起作用
1 | .box { |
修改如下
1 | .box { |
为element-表格 滚动条设置步进
目的是滚轮滚动一下就实现翻页效果,不分页的表格数据展示中
1 | <el-table |
1 | let testTable = ref(null); |
通用图标解决方案
-
iconfont只有 fontawesome 的css文件,没有其他用法,但是图标比 fontawesome 多,全免费,但是风格不都统一需要筛选
-
图标较少,pro版本不是免费
1
2
3
4
5
6
7
8|-/css/ # 用于web开发时候使用,一般情况下只需引用这里的all.min.css即可正常使用fontawesome字体图标了)
|-/js/ # 用于一些高级用法比如配合svg使用,以及图标/动画/旋转/蒙版/等等)
|-/less/ # 字体图标 Less 样式文件
|-/metadata/ # 图标集 Meta 数据文件
|-/scss/ # 字体图标 Scss 样式文件
|-/sprites/ # 字体图标 SVG合集文件
|-/svgs/ # 这里有全部的单独的svg图标,可以用于PPT/Axure/等原型软件
|-/webfonts/ # 核心字体文件
vue3 路由传参,参数隐藏不在地址栏显示(history)
跳转
1 | const SkipPage = (row) => { |
接收
1 | onMounted(()=>{ |
此方式传参页面刷新有效,且不能清空。除非修改history
1 | // 清空当前页面的 history.state |
主题相关函数
1 | // 处理主题样式 |
- 本文作者: 王不留行
- 本文链接: https://wyf195075595.github.io/2022/08/05/programming/vue/实践及优化/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!