elpis的动态组件拓展

前言

哈喽,大家好,继之前的elpis的领域模型dsl的学习,到今天为止,里程碑又迈出了新的一步,本文主要是对于动态组件这一章的总结,在dsl那一章中,我们通过dsl文档去生成对应的页面,那么既然有通用的可以通过配置生成的页面,必然也存在着通用的,可以通过配置生成的通用组件

动态组件的实现

动态组件的实现是通过在dsl文档中写入相应的组件配置,然后在具体的功能页面进行配置,从而实现组件的动态生成,形成对应的功能

// 复制代码
      componentConfig: {
        // create-form表单相关配置
        createForm: {
          title: "", //表单标题
          saveBtnText: "", //保存按钮文本
        },
        // edit-form表单相关配置
        editForm: {
          mainKey: "", //表单主键,用于唯一标识要修改的数据对象
          title: "", //表单标题
          saveBtnText: "", //保存按钮文本
        },
        // detail-panel相关配置
        detailPanel: {
          mainKey: "", //表单主键,
          title: "", //表单标题
        },
        // 自行拓展
      },

这是我们的动态组件配置文档

createFormOption: 复制代码
                ...eleComponentConfig, //标准el-component 配置
                comType: "", //配置组件类型 input/select/...
                visible: true, //字段是否在createForm中展示,默认为true(false表示不在表单展示)
                disabled: false, //字段在createForm中是否禁用,默认为false
                default: "", //默认值

                // comType=='select'
                enumList: [], //下拉框可选项
              },
              // 字段在editForm中的相关配置
              editFormOption: {
                ...eleComponentConfig, //标准el-component 配置
                comType: "", //配置组件类型 input/select/...
                visible: true, //字段是否在editForm中展示,默认为true(false表示不在表单展示)
                disabled: false, //字段在editForm中是否禁用,默认为false
                default: "", //默认值
              },
              detailPanelOption: {
                ...eleComponentConfig,
              },

这是我们动态组件的配置参数

本文涉及到的所有增删改查接口均遵循RESTful规范

至此,通过一份配置,生成一个项目的列表页+基本功能初步完成

相关推荐
minglie5 小时前
一个置换问题
javascript
默_笙5 小时前
🌀 别再手动写 Prompt 了!我让 AI 自己循环改到满意为止
javascript
To_OC16 小时前
LC 994 腐烂的橘子:人人都说是 BFS 入门题,我却写了三遍才过
javascript·算法·leetcode
To_OC1 天前
LC 200 岛屿数量:经典 DFS 入门题,我第一次写居然连方向都搞错了
javascript·算法·leetcode
labixiong1 天前
实现一个能跑的迷你版Promise(一)
前端·javascript·面试
weedsfly1 天前
还在用 Axios?你可能需要重新理解 XHR 与 Fetch
前端·javascript·面试
CoderWeen1 天前
从零实现一个 Vue3 流程图编辑器:节点拖拽、贝塞尔连线与框选
前端·javascript
To_OC2 天前
LC 128 最长连续序列:别上来就排序,O (n) 解法才是这题的灵魂
javascript·算法·leetcode
kyriewen2 天前
我用 50 行代码重写了 React Router 核心,终于搞懂了前端路由原理
前端·javascript·react.js
Asize2 天前
HTML5 Canvas 基础:从按帧动画到 ECharts 数据可视化
前端·javascript·canvas