MDD(模型驱动开发)系列(七) 前端MDD实践

boyanx12小时前技术教程1

1.步骤

1) 基于领域模型录入和调整字段、分组、页面、参照、路由、菜单等元数据

2)根据元数据生成对应的页面、交互逻辑、路由、菜单

3)根据扩展点自定义特有逻辑

2.元数据示例

1)分组和字段

2)页面

3)参照

4)路由

5)菜单

3.扩展点

页面模板

序号

扩展点

说明

一、
AddEditForm/AddEditModal/MainSubAddEditPage

1

initEdit( { addEditFormData, layout, loading, pageType, businessObjectName, statusData, id, _hide, } )

初始化阶段 完全接管初始化

2

afterQueryEditFormData({res,addEditFormData,_hide})

查询到数据后的回调(查询数据走默认的)

3

initAdd( { addEditFormData, layout, loading, pageType, businessObjectName } )

初始化阶段 完全接管初始化

4

onAddAfterSelect({value,formData,item,layout,_hide})

选中数据后的回调

5

onEditAfterSelect({value,formData,item,layout,_hide})

选中数据后的回调

6

beforeAdd({actionRef, businessObjectName, addEditFormData,__ret})

发送api请求之前的回调

7

beforeEdit({actionRef, businessObjectName, addEditFormData,deltaObj,__ret})

发送api请求之前的回调

二、BaseSearchForm

1

onInitSearch({ layout, formData, businessObjectName, queryConditionFieldConfig, })

搜索表单初始化的回调

ImportForm(无)

2



ExportForm(BaseList之外)

3

inExport inDetail 等属性


三、BasicTable/BaseList

1

onInitTable( { // 在导出页时,需要处理exportButtons inExportForm, tableHeaderMeta,propertyMetas, businessObjectName, queryCondition, tableList, queryTableData, api, page, ////////// 3、按钮相关 selectList,buttons, replaceButton, removeButton, detailLabel, ////////// 4、行内操作相关 actions, replaceOperation,removeOperation, ////////// 5、导入导出相关 exportButtons, replaceExportButton,removeExportButton, } )

表格初始化

2

onDeleteBatch({selectList, businessObjectName,tableRef, tableList,page})

批量删除回调

3

onDelete({row, businessObjectName,tableList,page})

单行函数回调

4

customedButtons/removeButton/replaceButton

自定义按钮

5


customedActions/replaceOperation/removeOperation replaceOperation( { key: 'cascadeMove', label: "级联迁移", type: "button", class: "table-btn", action: row => onCascadeMove(row), }, )

自定义行内操作

6

tableHeaderMeta/exportButtons/detailField

核心配置

四、BaseTreeTable(BasictTable之外的)

1

initRefreshTable(selectedKeys, selectedEvent,page,tableList,tableLogic,refreshTable)

初始化树表

2

constructTree({ treeData, _listToTree })

构建树

3

onSelect({ e,tableLogic, tableList,page, treeData, refreshTable:queryTableData})

点击树节点后的回调

4

onDeleteTreeTable({selectList, businessObjectName,tableRef, tableList,page,tableLogic,idArr})

树表节点的删除

五、BaseDetail


detail.buttons

核心配置

六、ListRefer 同列表


afterSelect({value,formData,item})

参照数据获取后的回调

七、TreeListRefer 同树表


afterSelect({value,formData,item})

参照数据获取后的回调

八、TreeSelect


onLoadData(treeNode)

异步加载树节点


constructTree({ treeData, _listToTree })

构建树


afterSelect({value,formData,item})

参照数据获取后的回调



4.列表页示例

5.添加页示例

6.编辑页示例

7.详情页示例

标签: treetable

相关文章

Layui 2.8.5 发布,包含 13 项更新

table新增 table.renderData(id) 方法,用于重新渲染数据,可搭配 table.cache 使用 # 1273修复 table.hideCol(id, cols) 第二个参数为普...

Layui 2.9.11正式发布(layui还更新吗)

tab新增 标签头 lay-allowclose="false" 属性支持,用于给指定标签禁用删除图标 #1955 @Sight-wcg新增 element.tabAdd() 第二个参...

Layui 2.9.13正式发布(layui.reload)

form新增 checkbox,radio 的数据驱动功能,可直接设置 checked 属性更新 UI 新增 select 的 lay-append-to 属性,用于将 select 面板追加到给定的...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。