JeeSite Vue3:前端开发页面如何动态设置菜单展示模式?

news2024/11/16 5:50:54

推荐阅读:

JeeSite Vue3:前端开发的未来之路(更新版)

随着技术的飞速发展,前端开发技术日新月异。在这个背景下,JeeSite Vue3 作为一个基于 Vue3、Vite、Ant-Design-Vue、TypeScript 和 Vue Vben Admin 的前端框架,引起了广泛关注。它凭借其先进的技术栈和丰富的功能模块,为初学者和团队开发者提供了一个快速、高效且强大的开发平台。

JeeSite Vue3框架截图

图片

图片

     

JeeSite Vue3 的技术栈

JeeSite Vue3 的技术栈包括 Vue3、Vite、Ant-Design-Vue、TypeScript 和 Vue Vben Admin。这些技术都是目前前端开发领域的领军者,它们结合在一起,为开发者提供了一个强大且现代化的开发环境。

Vue3 作为一款流行的前端框架,凭借其组件化的开发方式和简洁的 API,大大提高了开发效率。Vite 则是一个现代化的前端构建工具,提供了快速的冷启动和即时热更新,使得开发过程更加流畅。Ant-Design-Vue 是 Ant Design 的 Vue 实现,提供了一套高质量的 UI 组件,使界面设计更加美观和易用。TypeScript 是 JavaScript 的超集,通过静态类型检查和丰富的类型系统,提高了代码质量。最后,Vue Vben Admin 是一个高质量的后台管理系统模板,为中大型项目的开发提供了现成的解决方案。

在 Vben Admin 基础上做的改进:

  • 更精致的界面细节优化改进,非常适合信息化管理后台

  • 主题风格改进,不同的布局风格,菜单及权限体验优化

  • 顶部菜单、分隔菜单、混合菜单的活动状态激活和加载优化改进

  • 树表支持异步的封装,提升展开折叠性能,支持按层次展开折叠树表

  • 树结构新增快捷刷新、动态生成树、层次独立和不独立的数据返回兼容

  • 增加左树右表功能展示,可折叠左树,树组件增加默认图标

  • 表单组件适应各种数据格式来源,特别是多选字符串到数组的互转兼容

  • 表单新增各种便捷属性和表单组件,下拉框和树选择支持标签名回显

  • 表单组件,改进折叠表单 Action 的算法,智能化布局

  • 表格组件,Action 更多,支持横向显示操作,更方便

  • 表格组件,子表编辑改进,表格列排序和重置改进优化

  • 新增字典组件,支持展示到表格列、表单组件下拉框单选框等

  • 字典标签支持 Tag、Badge、自定义 class、style 等,显示风格

  • 更方便的支持 Tab 页面的缓存,切换页签的时候不重载页面内容

  • Tab 页签界面美化、图标显示、任何标签上右键,可快速刷新等等

  • 全局 Axios 改进,兼容各种数据格式,超时消息提醒改进

  • 功能权限鉴权改进,并兼容本地路由和后台路由同时使用

  • 等等各种细节改进,体验优化,黑暗布局细节优化

  • Vue端完全开源,用上你就会爱上,实在太方便了

设计特点

定义众多组件,非常贴心的组件属性及小功能,符合 JeeSite 以往的设计思想,列表和表单以数据驱动视图,极大简化了业务功能开发,注释分解详见本页最下【源码解析】

为什么做数据驱动视图?前端向下兼容一直是最大的问题,有了一套相应的标准,会对框架升级帮助很大。比如你可以非常小的成本,业务代码改动非常小的情况下,去升级前端;数据驱动视图可以为未来自定义拖拽表单做更好的铺垫,数据存储结构更清晰化,更利于维护。

提示:请仔细阅读源码解析,表单视图和列表视图上的注释哦,复杂表单可以多表单联合使用。

安装使用

  • 如果没有安装 Node.js 16,下载地址:https://nodejs.org

# 验证
node -v
  • 如果没有安装 Yarn 执行安装(要求 Yarn v1.x)

npm i -g yarn
# 验证
yarn -v
  • 获取代码

git clone https://gitee.com/thinkgem/jeesite-vue.git
cd jeesite-vue

注意:不要放到中文或带空格的目录下。

  • 安装依赖

yarn config set registry https://registry.npm.taobao.org
yarn install
  • 开发环境运行访问(方式一)

yarn serve

开发环境会加载文件较多,便于调试,请耐心等待。

  • 编译打包后运行访问(方式二)

yarn preview

编译打包后,会整合这些文件,所以访问性能会大大提高,生产环境可以开启 gzip

  • 打包发布程序

yarn build

打包完成后,会在根目录生成 dist 文件夹,发布 nginx。

详见文档:https://jeesite.com/docs/vue-install-deploy/#部署到正式服务器

演示地址

  1. 地址:http://vue.jeesite.com/

动态设置菜单展示模式使用实战解析

在日常开发中,我们经常会遇到各种界面展示问题,尤其是在使用大型前端框架或系统时。最近,在使用JeeSite这一企业级快速开发平台时,我遇到了菜单展示模式错乱的问题。为了确保用户界面的友好性和一致性,我决定在登录后动态设置特定的菜单模式。以下是我的实现过程及代码分享。

一、问题背景

在使用JeeSite的过程中,我发现不同用户角色或不同操作场景下,菜单的展示模式(如侧边栏、顶部菜单等)可能会有所不同。如果展示模式设置不当,不仅会影响用户体验,还可能导致功能上的混乱。因此,动态设置菜单展示模式变得尤为重要。

二、解决方案

Vue.js提供了丰富的生命周期钩子,可以帮助我们在不同的阶段执行特定的逻辑。在这里,我选择了onMounted钩子,因为它会在组件挂载后立即执行,确保在用户界面渲染之前完成菜单模式的设置。

三、代码实现

首先,我们需要从Vue.js库中导入所需的函数和对象。

 

javascript复制代码

import { useAppStore } from '/@/store/modules/app';
import { MenuModeEnum, MenuTypeEnum } from '/@/enums/menuEnum';
import { defineComponent, onMounted } from 'vue';

useAppStore是Vuex store的一个自定义hook,它允许我们在组件中轻松地访问和修改应用级别的状态。MenuModeEnumMenuTypeEnum`则是定义菜单模式和类型的枚举常量。

接下来,我们定义组件,并在setup函数中初始化我们的逻辑。

 

javascript复制代码

const appStore = useAppStore();
onMounted(() => {
// 设置项目配置
appStore.setProjectConfig({
menuSetting: {
mode: MenuModeEnum.INLINE,
type: MenuTypeEnum.MIX,
split: true
},
});
});

onMounted函数中,我们调用了appStore.setProjectConfig方法来设置菜单的配置。这里,我们将mode设置为MenuModeEnum.INLINE,表示菜单以内联模式展示;type设置为MenuTypeEnum.MIX,表示菜单类型为顶部混合模式;split设置为true,表示菜单项之间应有分隔线。

四、效果展示

通过上述代码,我们可以确保在组件加载完成后,菜单会按照我们预设的模式进行展示。这不仅提高了用户界面的美观性,还确保了功能的正确性和一致性。: 

图片

实现完整代码参考如下

<template>
  <div>   //登录后界面
  </div>

</template>
<script lang="ts">  export default defineComponent({    name: 'ViewsPageHomeHome',  });</script>
<script lang="ts" setup>  import { useAppStore } from '/@/store/modules/app';  import { MenuModeEnum, MenuTypeEnum } from '/@/enums/menuEnum';    import {    defineComponent,    watch,    ref,    onMounted  } from 'vue';


  const appStore = useAppStore();
  // 视图加载  onMounted(() => {
    //  设置项目配置    appStore.setProjectConfig({          menuSetting: {        mode: MenuModeEnum.INLINE,        type: MenuTypeEnum.MIX,        split: true      },        });  });
</script>

结语

JeeSite Vue3 作为一款引领未来的前端框架,凭借其先进的技术栈和丰富的功能模块,为前端开发者提供了一个全新的开发体验。它让初学者能够快速入门,同时也为团队开发者提供了强大的支持。无论是微小项目还是中大型项目,JeeSite Vue3 都能够提供现成的解决方案和丰富的示例,使开发过程变得更加高效。

动态设置菜单展示模式是一个常见但重要的需求。通过结合Vue.js的生命周期钩子和Vuex的状态管理功能,我们可以轻松地实现这一目标。在实际项目中,根据具体需求和场景,我们还可以进一步扩展和优化这一功能。

附jeesite-vue文档地址

      https://jeesite.com/docs/

附jeesite-vue框架下载地址

      https://gitee.com/thinkgem/jeesite-vue

附jeesite-vue框架服务端下载地址

      https://gitee.com/thinkgem/jeesite4/tree/v5.5/

推荐阅读:

JeeSite Vue3:前端开发的未来之路(更新版)

随着技术的飞速发展,前端开发技术日新月异。在这个背景下,JeeSite Vue3 作为一个基于 Vue3、Vite、Ant-Design-Vue、TypeScript 和 Vue Vben Admin 的前端框架,引起了广泛关注。它凭借其先进的技术栈和丰富的功能模块,为初学者和团队开发者提供了一个快速、高效且强大的开发平台。

JeeSite Vue3框架截图

图片

图片

     

JeeSite Vue3 的技术栈

JeeSite Vue3 的技术栈包括 Vue3、Vite、Ant-Design-Vue、TypeScript 和 Vue Vben Admin。这些技术都是目前前端开发领域的领军者,它们结合在一起,为开发者提供了一个强大且现代化的开发环境。

Vue3 作为一款流行的前端框架,凭借其组件化的开发方式和简洁的 API,大大提高了开发效率。Vite 则是一个现代化的前端构建工具,提供了快速的冷启动和即时热更新,使得开发过程更加流畅。Ant-Design-Vue 是 Ant Design 的 Vue 实现,提供了一套高质量的 UI 组件,使界面设计更加美观和易用。TypeScript 是 JavaScript 的超集,通过静态类型检查和丰富的类型系统,提高了代码质量。最后,Vue Vben Admin 是一个高质量的后台管理系统模板,为中大型项目的开发提供了现成的解决方案。

在 Vben Admin 基础上做的改进:

  • 更精致的界面细节优化改进,非常适合信息化管理后台

  • 主题风格改进,不同的布局风格,菜单及权限体验优化

  • 顶部菜单、分隔菜单、混合菜单的活动状态激活和加载优化改进

  • 树表支持异步的封装,提升展开折叠性能,支持按层次展开折叠树表

  • 树结构新增快捷刷新、动态生成树、层次独立和不独立的数据返回兼容

  • 增加左树右表功能展示,可折叠左树,树组件增加默认图标

  • 表单组件适应各种数据格式来源,特别是多选字符串到数组的互转兼容

  • 表单新增各种便捷属性和表单组件,下拉框和树选择支持标签名回显

  • 表单组件,改进折叠表单 Action 的算法,智能化布局

  • 表格组件,Action 更多,支持横向显示操作,更方便

  • 表格组件,子表编辑改进,表格列排序和重置改进优化

  • 新增字典组件,支持展示到表格列、表单组件下拉框单选框等

  • 字典标签支持 Tag、Badge、自定义 class、style 等,显示风格

  • 更方便的支持 Tab 页面的缓存,切换页签的时候不重载页面内容

  • Tab 页签界面美化、图标显示、任何标签上右键,可快速刷新等等

  • 全局 Axios 改进,兼容各种数据格式,超时消息提醒改进

  • 功能权限鉴权改进,并兼容本地路由和后台路由同时使用

  • 等等各种细节改进,体验优化,黑暗布局细节优化

  • Vue端完全开源,用上你就会爱上,实在太方便了

设计特点

定义众多组件,非常贴心的组件属性及小功能,符合 JeeSite 以往的设计思想,列表和表单以数据驱动视图,极大简化了业务功能开发,注释分解详见本页最下【源码解析】

为什么做数据驱动视图?前端向下兼容一直是最大的问题,有了一套相应的标准,会对框架升级帮助很大。比如你可以非常小的成本,业务代码改动非常小的情况下,去升级前端;数据驱动视图可以为未来自定义拖拽表单做更好的铺垫,数据存储结构更清晰化,更利于维护。

提示:请仔细阅读源码解析,表单视图和列表视图上的注释哦,复杂表单可以多表单联合使用。

安装使用

  • 如果没有安装 Node.js 16,下载地址:https://nodejs.org

# 验证
node -v
  • 如果没有安装 Yarn 执行安装(要求 Yarn v1.x)

npm i -g yarn
# 验证
yarn -v
  • 获取代码

git clone https://gitee.com/thinkgem/jeesite-vue.git
cd jeesite-vue

注意:不要放到中文或带空格的目录下。

  • 安装依赖

yarn config set registry https://registry.npm.taobao.org
yarn install
  • 开发环境运行访问(方式一)

yarn serve

开发环境会加载文件较多,便于调试,请耐心等待。

  • 编译打包后运行访问(方式二)

yarn preview

编译打包后,会整合这些文件,所以访问性能会大大提高,生产环境可以开启 gzip

  • 打包发布程序

yarn build

打包完成后,会在根目录生成 dist 文件夹,发布 nginx。

详见文档:https://jeesite.com/docs/vue-install-deploy/#部署到正式服务器

演示地址

  1. 地址:http://vue.jeesite.com/

动态设置菜单展示模式使用实战解析

在日常开发中,我们经常会遇到各种界面展示问题,尤其是在使用大型前端框架或系统时。最近,在使用JeeSite这一企业级快速开发平台时,我遇到了菜单展示模式错乱的问题。为了确保用户界面的友好性和一致性,我决定在登录后动态设置特定的菜单模式。以下是我的实现过程及代码分享。

一、问题背景

在使用JeeSite的过程中,我发现不同用户角色或不同操作场景下,菜单的展示模式(如侧边栏、顶部菜单等)可能会有所不同。如果展示模式设置不当,不仅会影响用户体验,还可能导致功能上的混乱。因此,动态设置菜单展示模式变得尤为重要。

二、解决方案

Vue.js提供了丰富的生命周期钩子,可以帮助我们在不同的阶段执行特定的逻辑。在这里,我选择了onMounted钩子,因为它会在组件挂载后立即执行,确保在用户界面渲染之前完成菜单模式的设置。

三、代码实现

首先,我们需要从Vue.js库中导入所需的函数和对象。

 

javascript复制代码

import { useAppStore } from '/@/store/modules/app';
import { MenuModeEnum, MenuTypeEnum } from '/@/enums/menuEnum';
import { defineComponent, onMounted } from 'vue';

useAppStore是Vuex store的一个自定义hook,它允许我们在组件中轻松地访问和修改应用级别的状态。MenuModeEnumMenuTypeEnum`则是定义菜单模式和类型的枚举常量。

接下来,我们定义组件,并在setup函数中初始化我们的逻辑。

 

javascript复制代码

const appStore = useAppStore();
onMounted(() => {
// 设置项目配置
appStore.setProjectConfig({
menuSetting: {
mode: MenuModeEnum.INLINE,
type: MenuTypeEnum.MIX,
split: true
},
});
});

onMounted函数中,我们调用了appStore.setProjectConfig方法来设置菜单的配置。这里,我们将mode设置为MenuModeEnum.INLINE,表示菜单以内联模式展示;type设置为MenuTypeEnum.MIX,表示菜单类型为顶部混合模式;split设置为true,表示菜单项之间应有分隔线。

四、效果展示

通过上述代码,我们可以确保在组件加载完成后,菜单会按照我们预设的模式进行展示。这不仅提高了用户界面的美观性,还确保了功能的正确性和一致性。: 

图片

实现完整代码参考如下

<template>
  <div>   //登录后界面
  </div>

</template>
<script lang="ts">  export default defineComponent({    name: 'ViewsPageHomeHome',  });</script>
<script lang="ts" setup>  import { useAppStore } from '/@/store/modules/app';  import { MenuModeEnum, MenuTypeEnum } from '/@/enums/menuEnum';    import {    defineComponent,    watch,    ref,    onMounted  } from 'vue';


  const appStore = useAppStore();
  // 视图加载  onMounted(() => {
    //  设置项目配置    appStore.setProjectConfig({          menuSetting: {        mode: MenuModeEnum.INLINE,        type: MenuTypeEnum.MIX,        split: true      },        });  });
</script>


结语

JeeSite Vue3 作为一款引领未来的前端框架,凭借其先进的技术栈和丰富的功能模块,为前端开发者提供了一个全新的开发体验。它让初学者能够快速入门,同时也为团队开发者提供了强大的支持。无论是微小项目还是中大型项目,JeeSite Vue3 都能够提供现成的解决方案和丰富的示例,使开发过程变得更加高效。

动态设置菜单展示模式是一个常见但重要的需求。通过结合Vue.js的生命周期钩子和Vuex的状态管理功能,我们可以轻松地实现这一目标。在实际项目中,根据具体需求和场景,我们还可以进一步扩展和优化这一功能。

附jeesite-vue文档地址

      https://jeesite.com/docs/

附jeesite-vue框架下载地址

      https://gitee.com/thinkgem/jeesite-vue

附jeesite-vue框架服务端下载地址

      https://gitee.com/thinkgem/jeesite4/tree/v5.5/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1677462.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

掌握未来的数字设计:深入浅出FPGA学习笔记,从新手到专家的全面指南!

在数字电路设计领域&#xff0c;现场可编程门阵列&#xff08;Field-Programmable Gate Array, FPGA&#xff09;是一种非常灵活且功能强大的技术。它允许设计师通过编程来自定义硬件逻辑&#xff0c;以适应不同的应用需求。本文将全面详细地介绍FPGA的学习笔记&#xff0c;包括…

CKA-Ubuntu18.04安装Kubernetes集群

文档整理参考:虫之教育唐老师 文章目录 K8S是什么修改静态ip环境准备修改更新源安装Docker安装K8S-master1.安装kubeadm, kubelet, kubectl2.初始化3.创建kubeadm-config.yaml4.查看是否安装成功运行集群环境报错排查问题安装网络安装K8S-node1,2步参考master3.查看是否安装成…

Java线程生命周期:Java线程生命周期全景解读

1. 线程生命周期概述&#xff1a;不仅仅是状态转换 在多线程编程中&#xff0c;理解线程的生命周期对于编写有效、高效的代码至关重要。线程生命周期通常描述了线程从创建到死亡的一系列状态变化过程&#xff0c;但其实不仅仅局限于这些状态的简单转换。线程生命周期的理解应该…

PHP黑魔法之strcmp与is_numeric绕过

1、strcmp绕过 PHP手册: int strcmp ( string $str1 , string $str2 )Return ValuesReturns < 0 if str1 is less than str2; > 0 if str1 is greater than str2, and 0 if they are equal 当输入的两个值为不是字符串时就会产生不预期的返回值 strcmp()在比较字符串和…

PyQt5编写的一个简易图像处理软件

文章目录 1. 简介2. 准备工作3. 主界面设计4. 功能构建5. 总结 1. 简介 通过编写简易图像处理软件&#xff0c;你可以学习如何使用 PyQt5 构建用户界面&#xff0c;以及如何与用户交互。同时&#xff0c;你还可以学习图像处理技术&#xff0c;如图像读取、傅里叶变换、滤波、增…

三、安装node_exporter

目录 一、简介 二、下载安装 一、简介 Exporter是Prometheus的指标数据收集组件。它负责从目标Jobs收集数据&#xff0c;并把收集到的数据转换为Prometheus支持的时序数据格式。 和传统的指标数据收集组件不同的是&#xff0c;他只负责收集&#xff0c;并不向Server端发送数据…

百度文心一言 java 支持流式输出,Springboot+ sse的demo

参考&#xff1a;GitHub - mmciel/wenxin-api-java: 百度文心一言Java库&#xff0c;支持问答和对话&#xff0c;支持流式输出和同步输出。提供SpringBoot调用样例。提供拓展能力。 1、依赖 <dependency> <groupId>com.baidu.aip</groupId> <artifactId…

Vue3使用datav3报错的三个问题解决

我这里写的是按需引入 报错问题Cannot find module dataview/datav-vue3 修改datav源码中的package.json文件 修改为 "module": "./es/index.mjs", 然就就会遇见新的报错问题 报错问题TypeError: Cannot read properties of null (reading $el) 然后修改…

Day 46 139.单词拆分

单词拆分 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict&#xff0c;判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明&#xff1a; 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1&#xff1a; 输入: s “leet…

智能监控与安全管理:安全帽检测算法的实践与应用

在工地、煤矿等高危工作环境中&#xff0c;安全帽的佩戴至关重要。安全帽能够有效防止因坠落物体或碰撞等引起的头部伤害&#xff0c;从而保护工作人员的生命安全。然而&#xff0c;传统的检查人员佩戴安全帽的方式主要依赖于现场监督和巡查&#xff0c;这种方法不仅耗费大量人…

PDF编辑阅读器PDF Expert for Mac v3.10.1中文激活版

PDF Expert for Mac是一款易于使用的 PDF 编辑器和注释器&#xff0c;专为 Mac 设备设计。它允许用户轻松查看、编辑、签名、注释和共享 PDF。该软件使用户能够向他们的 PDF 添加文本、图像、链接和形状&#xff0c;突出显示和标记文本&#xff0c;填写表格以及签署数字文档。它…

更高、更快、更强,受管文件传输应该注意的三个要素

受管文件在很多公司内部都存在这个分类&#xff0c;受管文件不是特定的某一文件&#xff0c;而是指的是在一个组织或企业内&#xff0c;被正式管理和控制的文件。这些文件通常包含重要的信息&#xff0c;如技术规格、标准操作程序&#xff08;SOPs&#xff09;、质量手册、设计…

SDN 实现 vxlan隧道

SDN vxlan隧道 官方介绍&#xff1a; VXLAN&#xff08;Virtual eXtensible Local Area Network&#xff0c;虚拟扩展局域网&#xff09;&#xff0c;是由IETF定义的NVO3&#xff08;Network Virtualization over Layer 3&#xff09;标准技术之一&#xff0c;是对传统VLAN协议…

社交媒体数据恢复:如流

如流&#xff0c;原名百度Hi&#xff0c;是百度公司开发的一款即时通讯软体。百度Hi具备文字消息、视讯、通话、文件传输等功能。 查找备份&#xff1a;如果您之前有备份如流中的数据&#xff0c;您可以尝试从备份中恢复。如流支持备份至云端&#xff0c;如百度网盘等。 联系客…

C++auto关键字、范围for循环

一、auto关键字 1.1auto简介 在早期C/C中auto的含义是&#xff1a;使用auto修饰的变量&#xff0c;是具有自动存储器的局部变量。 C11中&#xff0c;标准委员会赋予了auto全新的含义即&#xff1a;auto不再是一个存储类型指示符&#xff0c;而是作为一个新的类型指示符来指示编…

前端铺子后台管理系统:基于Vue3与Ant Design Vue的轻量级解决方案

一、引言 随着前端技术的飞速发展&#xff0c;构建高效、轻量且易于维护的后台管理系统成为了企业信息化建设的重要一环。前端铺子后台管理系统&#xff0c;作为一款基于Vue的前端框架&#xff0c;结合Ant Design Vue的UI组件库&#xff0c;为企业提供了一个高效、灵活的后台管…

视频推拉流/视频直播点播平台EasyDSS使用Mysql数据库接口报错502如何处理?

视频推拉流/视频直播点播EasyDSS互联网直播平台支持一站式的上传、转码、直播、回放、嵌入、分享功能&#xff0c;具有多屏播放、自由组合、接口丰富等特点。平台可以为用户提供专业、稳定的直播推流、转码、分发和播放服务&#xff0c;全面满足超低延迟、超高画质、超大并发访…

计算思维的理解

2006年&#xff0c;卡内基梅隆大学周以真教授首次系统性地定义了计算思维。这一年&#xff0c;她在美国计算机权威期刊《Communications of the ACM》上发表了题为《Computational Thinking》的论文&#xff0c;由此开启了计算思维大众化的全新历程。 周以真&#xff08;Jeanne…

指针(4)

目录 1. 字符指针变量 2.数组指针 2.1 数组指针和指针数组的区别 2.2访问数组指针 3. ⼆维数组传参的本质 4. 函数指针变量 4.1两段有趣的代码 4.2 typedef 关键字 5.函数指针数组 6.转移表 1. 字符指针变量 在指针的类型中我们知道有⼀种指针类型为字符指针 char* …