若依后台管理框架前端如何实现删除没用的菜单和新增的菜单 仅在ruoyi-ui里修改不涉及后端知识 以及我在项目里操作新增菜单一直显示演示模式不能修改
一般下面几个步骤就可以搞定大兄弟,
在 Ruoyi-Admin 后台管理框架中,菜单的新增和删除通常需要通过后端接口来实现。如果您只是想在前端修改菜单,
若依管理后台框架在前端实现删除没用和新增菜单功能,可以参考以下方法:
js
remove(menuId) {
return request({
url: '/system/menu/remove',
method: 'post',
data: { menuId }
})
}
然后在 ruoyi-ui/src/views/menu/menu.vue 文件中绑定点击删除事件,调用此接口:
html
<a @click="removeMenu(scope.row.menuId)">删除</a>
js
methods: {
removeMenu(menuId) {
this.$confirm('此操作将删除该菜单,确认继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then(() => {
return this.$http.remove(menuId)
}).then(() => {
this.getList()
this.$message({
message: '删除成功!',
type: 'success'
})
})
}
}
js
add(menu) {
return request({
url: '/system/menu/add',
method: 'post',
data: menu
})
}
然后,在 ruoyi-ui/src/views/menu/add.vue 中增加绑定事件,调用此接口添加菜单:
js
handleSubmit() {
this.$refs.form.validate(valid => {
if (valid) {
this.$http.add(this.form).then(() => {
this.$message({
message: '新增成功',
type: 'success'
})
this.$router.push({ path: '/menu' })
})
} else {
return false
}
})
}
js
computed: {
sidebarItems() {
return this.$store.getters.menuList
}
}
是读取 vuex 中静态的菜单数据,而不是实时从服务器获取。
您需要去除此 computed 属性,改为在 created 钩子函数中调用 /system/menu/list 接口获取菜单,如:
js
created() {
this.$http.get('/system/menu/list').then(res => {
this.sidebarItems = res.data
})
}
然后,删除 ruoyi-ui/src/store/modules/menu.js 文件和相关引用,使用真实接口获取菜单数据。