Vue3+Ts+Elment-plus踩坑

1.使用Element-plus不生效?可能是你的写法不对。

千万要记得不要在mount挂载实例后去use(Element-plus),这样你将不会出现任何效果。

2.使用自定义的loading组件和axios配合封装了一个请求加载中的效果的坑。

每发一个请求就会走同一个loading组件,效果不是很好,也没有用请求合并来做,所以就使用局部loading来做,就使用了Element-Plus的loading组件

结果bug应景而现,当我使用v-loading指令式的方式去实现效果时,一点效果没有。于是经过我坚持不懈的寻找下,寻找到了bug出现在哪里了。

我使用的是按需引入,所有按需引入的组件都会出现在components.d.ts文件中(包括自定义的组件)。结果就是当我使用loading组件时,vue组件和Element-plus的组件重名了,而且一点报错和效果都没有。从结果来看就是vue自定义组件的优先级高一点,把Element-plus的loading组件给覆盖了。然后我把自定义组件loading改了个名字,重启项目,就会看到以下错误

这个是使用v-loading指令报的错

再来看components.d.ts文件中的样子,可以看到没有将Elmement-plus中的loading组件覆盖,而是两个文件,这个报错是自动导入插件出来的,然后咱们来解决报错。

百度过后我找到了最为合适的方法,就是现在看到的这个,利用正则去掉loading组件的样式自动引入,就可以解决问题了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3和TypeScript(TS)结合使用Element Plus来进行角色菜单分配,是一种很好的选择。下面是一个关于如何实现角色菜单分配的简单示例。 首先,我们需要安装Vue 3、TypeScript和Element Plus。可以使用npm命令进行安装。 ```bash npm install vue@next npm install typescript npm install element-plus ``` 然后,在Vue 3项目的入口文件中,可以引入Element Plus的模块,以及一些额外的样式文件。 ```javascript import { createApp } from 'vue' import ElementPlus from 'element-plus' import 'element-plus/lib/theme-chalk/index.css' import App from './App.vue' const app = createApp(App) app.use(ElementPlus) app.mount('#app') ``` 在组件中,我们可以使用Element Plus的Menu组件来展示菜单,并通过V-if指令来根据角色进行菜单项的展示与隐藏。 ```vue <template> <div> <el-menu> <el-menu-item v-if="hasAccess('dashboard')">仪表盘</el-menu-item> <el-menu-item v-if="hasAccess('users')">用户管理</el-menu-item> <el-menu-item v-if="hasAccess('roles')">角色管理</el-menu-item> </el-menu> </div> </template> <script> import { defineComponent } from 'vue' export default defineComponent({ data() { return { userRoles: ['dashboard', 'users', 'roles'] } }, methods: { hasAccess(role) { return this.userRoles.includes(role) } } }) </script> <style> /* 根据需要自定义样式 */ </style> ``` 在该示例中,假设用户角色以数组的形式存储在`userRoles`属性中。通过定义一个`hasAccess`方法,我们可以判断用户是否拥有某个角色,然后根据判断结果,在菜单项上使用V-if指令来展示或隐藏对应的菜单项。 当用户拥有某个角色时,该菜单项将会在界面上显示出来,反之,则不会显示。需要注意的是,需根据实际需求对示例中的角色判断逻辑进行调整。 这只是一个简单的示例,实际的角色菜单分配功能可能涉及到更复杂的逻辑和接口调用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值