Vue+admin后台管理系统
Backstage management system with js or ts language.
qq_38969618
这个作者很懒,什么都没留下…
展开
-
封装:el-upload上传图片组件(解决图片闪动、多选问题)
(1)粘贴上传图片,不点击输入框,点击粘贴元素所在的行空白处,然后按ctrl+v也会触发粘贴paste事件,即也会自动上传,但此时点击确定所在行,再按ctrl+v又不触发了,失焦导致?:使用el-upload组件,自定义上传方法(调后台接口),传图片file给后台,后台返回对应阿里云的oss链接,前端临时保存,最后点击页面提交按钮,再传后台oss数组链接。原创 2022-10-11 17:58:34 · 3903 阅读 · 0 评论 -
解决:el-select,el-cascader或el-date-picker的下拉框不随滚动条滚动。
el-select下拉框不随滚动条滚动原创 2022-06-22 15:53:46 · 5599 阅读 · 4 评论 -
解决:vue项目构建出现Node.js构建错误。
nodejs构建错误原创 2022-06-22 15:30:43 · 721 阅读 · 0 评论 -
解决:vue项目构建出现可选链?:操作符解析失败
vue中使用可选链操作符构建报错。原创 2022-06-22 15:15:38 · 8131 阅读 · 4 评论 -
解决:使用sortablejs库对el-table设置拖拽,但拖拽一直不生效。
问题原因:我安装错了库名!!!我直接在npm上搜,看到第一个显示的sortable.js,就直接错误安装npm install --save sortable.js,导致在我的vue+ts项目某个el-dialog页面使用时,拖拽一直不起作用。实际正确的应该是:sortablejs, 正确的库名是没有小数点分隔。正确使用如下:第一步:先安装插件npm install sortablejs --save第二步:在页面中引入插件&使用即可。// demo.vue<tem原创 2022-04-12 15:08:53 · 8351 阅读 · 0 评论 -
解决:el-select组件在IOS移动端的2个兼容问题,点击2次才能选中 & 无法触发软键盘。
一、解决el-select下拉选项在ios点击2次才能选中(通过css解决,需确保css样式全局作用域)。// App.vue<style lang="scss"> // to fix 在ios设备中,el-select组件下拉框,点击2次才能选中问题。 .el-scrollbar { .el-scrollbar__bar { opacity: 1 !important; } }</style>二、解决el-select添加f原创 2022-03-15 20:11:50 · 4529 阅读 · 4 评论 -
解决:替换public目录下的favicon.icon,路径引入都对,但是图标就不生效。
原因:项目中使用了@vue/cli-plugin-pwa插件导致。修改mainfest.json中的icons也无效,只需在vue.config.js中配置pwa选项的iconPaths属性即可。// public目录下的index.html....<link rel="icon" href="<%= BASE_URL %>favicon.ico"><link rel="manifest" href="/mainfest.json" />...// v原创 2022-03-08 10:19:41 · 3983 阅读 · 0 评论 -
解决报错:‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
本地git clone新项目地址后,忘了下载依赖包导致,运行下载包命令即可:npm install原创 2022-02-26 14:40:10 · 754 阅读 · 0 评论 -
解决报错: PostCSS received undefined instead of CSS string
解决方案1:可能本地有多个nodeJS版本(本地使用了nvm),之前切到另一个版本编译node-sass后,再切换到另外一个nodeJS版本,导致的问题。注意:node-sass是一个绑定libsass(sass的一种版本)的nodeJS库。具体解决方法:重新编译下node-sass即可。npm rebuild node-sass解决方案2: 因本地使用nvm管理node, 且当前使用的node版本为低版本v12导致。复现环境:node: v12.22.0"sass-loade.原创 2022-02-25 10:42:18 · 36204 阅读 · 6 评论 -
去除:Vue项目打包后生成的.map文件&文件hash值命名
在vue.config.js文件中设置productionSourceMap和filenameHashing项为false即可。// vue.config.js文件module.exports = { outputDir: 'dist', assetsDir: 'assets', publicPath: './', // 需注意是相对路径,不然dist打包访问后就会出现空白问题。 productionSourceMap: false, // 去除Vue打包后js目录下生成的一些.ma原创 2021-12-21 17:37:42 · 1594 阅读 · 0 评论 -
解决:网页文本显示异常(因谷歌浏览器开了翻译英文导致)
在head标签之间添加:<metaname="google"content="notranslate"/>原创 2021-09-09 14:02:29 · 831 阅读 · 0 评论 -
vue2+ts:往Vue的原型对象上绑定自定义的全局属性,xxx.vue页面使用报错:Property ‘$C‘ does not exist on type ‘AvailableStock‘.
添加自定义类型声明文件xx.d.ts并在tsconfig.json中配置即可。原创 2021-08-13 14:56:00 · 3475 阅读 · 1 评论 -
下载本地导入表格模板XXX.xls
在public文件夹下新建excel文件夹-》新建“xxx.xls”表格-》使用window.location.href方法即可。// template<el-button size="medium" type="primary" icon="el-icon-download" :loading="downloadTemplateLoading" @click="downloadAddMemberTemplate">下载导入模板<..原创 2021-08-06 14:39:38 · 152 阅读 · 0 评论 -
使用:iconfont的svg图标(2种方法)
进入iconfont官网,选中图片-》“复制SVG代码”-》在项目的icons/svg文件夹中新增xxx.svg文件,将之前复制的svg代码直接粘贴-》运行"npm run svg"命令,系统自动生成对应的xxx.ts声明文件-》在页面中通过svgicon组件(name = "xxx")使用即可。// main.tsimport SvgIcon from 'vue-svgicon'Vue.use(SvgIcon, { tagName: 'svg-icon', defaultWidth: '原创 2021-06-22 19:45:38 · 5311 阅读 · 0 评论 -
子组件使用$emit触发父事件无效(事件名称命名不规范导致)
事件命名需全部小写,多单词使用中横线分隔。// 子组件this.$emit('get-list-after-add', question_id)// 父组件<child @get-list-after-add="getUpdatedListAfterAdd" ></child>原创 2021-07-31 18:25:00 · 627 阅读 · 0 评论 -
ts: 写自定义指令的时候,提示:类型“HTMLElement”上不存在属性“disabled”
原因:默认源码中关于指令的el声明的是HTMLElement类型,但是该类型是没有disabled属性的。解决如下:// db-click.tsimport { DirectiveOptions } from 'vue'// To prevent the double click on the button, you can use this directive like: v-dbClick.interface HTMLElementPlus extends HTMLElement {原创 2021-07-28 16:18:27 · 6567 阅读 · 1 评论 -
ts:Property ‘code‘ does not exist on type ‘AxiosResponse<any>‘.Vetur(2339)
在src文件下新建axios.d.ts文件:// axios.d.tsimport * as axios from 'axios'declare module 'axios' { interface AxiosInstance { (config: AxiosRequestConfig): Promise<any> }}提示:如果此时编辑器仍报错,记得要关闭重启下IDE!参照:https://blog.csdn.net/weixin_42164539/art原创 2021-07-28 15:41:35 · 3188 阅读 · 0 评论 -
vue+admin: 根据路由动态修改浏览器标签页上的title
在utils文件夹下新建工具函数get-page-title.ts-》在permission.ts的全局路由拦截器中设置document.title = getPageTitle(to.meta.title)即可。(注:setting.ts文件中可设置默认值。)// setting.tsinterface ISettings { title: string // Overrides the default title showSettings: boolean // Controls set原创 2021-06-29 16:28:02 · 854 阅读 · 0 评论 -
vue+admin:添加阿里云应用实时监控服务ARAMS
先创建应用站点-》系统自动生成pid编号-》 下载包(npm install alife-logger --save)-》在main.ts中配置即可。// main.tsconst BrowserLogger = require('alife-logger')const __bl = BrowserLogger.singleton({ pid: 'xxxxxxxxxxxxxxx', // 项目Id,新建一个应用站点后,系统自动生成。 appType: 'web', imgUrl:..原创 2021-06-28 17:48:47 · 780 阅读 · 0 评论 -
ts:npm下载第三方插件后引入时,提示“无法找到模块xxx的声明文件“
在src-》shims.d.ts文件中,添加第三方插件声明即可。// shims.d.tsdeclare module 'alife-logger' // npm install alife-logger --save原创 2021-06-28 16:38:49 · 2077 阅读 · 0 评论 -
eslint报错:“Identifier xxx is not in camel case“
在.eslintrc.js文件中:将校验驼峰命名的规则关闭即可(camelcase: 'off')。// eslintrc.jsmodule.exports = { root: true, env: { node: true }, extends: [ 'plugin:vue/essential', '@vue/standard', '@vue/typescript/recommended' ], parserOptions: { e原创 2021-06-26 14:15:58 · 10287 阅读 · 0 评论 -
vue+admin+ts:使用混入mixins
1.新建xxx.ts混入文件。// mixins/get-zone-lane-layer.tsimport { Component, Vue } from 'vue-property-decorator'import { get1To99ZoneList, getAToZLaneList } from '@/utils/index'@Component({ name: 'GetZoneLaneLayerMixin'})export default class GetZoneLaneL原创 2021-06-24 16:19:00 · 455 阅读 · 0 评论 -
vue+admin+js: 点击重置,重置查询对象属性值。
listQuery: { page: 1, pageSize: 10, city_id: 321, user_name: ''}this.listQuery = this.$options.data().listQuery; // 重置列表查询对象原创 2021-06-23 16:07:49 · 307 阅读 · 0 评论