对JEECG菜单生成器的一个小完善:自动输入非叶子节点或外链的组件

在官方文档的菜单配置说明 · JeecgBoot 开发文档 · 看云中:

前端组件配置说明:

  • 1、非叶子菜单(即没有下级的菜单)配置固定 前端组件layouts/RouteView

  • 2、需要跳转到第三页面的菜单 前端组件固定为:layouts/IframePageView,比如跳转百度:https://www.baidu.comwhttps://www.baidu.com/

但是,每次新建菜单时,都需要手动输入这两个前端组件,即使复制粘贴,也很麻烦,如下图所示fi: 

新建菜单的时候,从下拉框直接选择这两个组件,肯定会大大提高效率。甚至直接加入这两种菜单类型,也不是不可以的。
第二种方法我没实现,我对jeecg的前端代码做了点修改,实现了在前端组件输入框下方显示两个提示单选框,点击即自动填写前端组件。如下图所示:

 

 
具体作法是,在src/views/system/modules/PermissionModal.vue源码添加以下两处代码:

  1.在label=‘前端组件'这个表单项后面添加:

   <a-form-model-item
          v-show="show"
          :labelCol="labelCol"
          :wrapperCol="wrapperCol"
          label="前端组件辅助选择">
          <a-radio-group button-style="solid">
        <a-radio-button @click="helpComponent('layouts/RouteView')" value="layouts/RouteView">非叶子节点组件</a-radio-button>
        <a-radio-button @click="helpComponent('layouts/IframePageView')" value="layouts/IframePageView">外链组件</a-radio-button>
      </a-radio-group>
        </a-form-model-item>

2.在handleOK()代码前添加以下代码

 helpComponent(value) {
        const that = this;
        this.$set(this.model,'component',value)
      },

注意:之所以使用this.$set()语法,是因为jeecg的菜单管理代码中,model在初始化的时候是{}空的,所以里面的属性无法进行双向绑定,所以需要用这个语法更新。

jeecg菜单管理代码中model的初始化情况如下:

    data () {
      return {
        drawerWidth:700,
        treeData:[],
        title:"操作",
        visible: false,
        disableSubmit:false,
        model: {},
        show:true,//根据菜单类型,动态显示隐藏表单元素
        menuLabel:'菜单名称',
        labelCol: {
          xs: { span: 24 },
          sm: { span: 5 },
        },
        wrapperCol: {
          xs: { span: 24 },
          sm: { span: 16 },
        },
        confirmLoading: false,
        iconChooseVisible: false,
        validateStatus:""
      }
    },

如此修改之后,管理菜单的时候就不用记忆或者到处找非叶子菜单或外链对应的组件类型,也不需要记得这两菜单需要特殊处理,对于我这种不是专职程序员产的老同志来说 ,还是省了不少事的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值