惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
Vercel News
Vercel News
C
Check Point Blog
G
Google Developers Blog
博客园 - 司徒正美
量子位
Engineering at Meta
Engineering at Meta
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
A
About on SuperTechFans
美团技术团队
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog
Jina AI
Jina AI
Y
Y Combinator Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The Cloudflare Blog
U
Unit 42

博客园 - 白菜园

低代码 + AI = 对话方式生成UI 换个方式用C#开发微信小程序 开源高性能结构化日志模块NanoLog AppBox快速开发框架(开源)开发流程介绍 用Roslyn玩转代码之一: 解析与执行字符串表达式 不生成DOM的非主流Blazor UI开源啦! 给我一块画布,我可以造一个全新的跨端UI 拖拽方式生成Vue用户界面 终于可以愉快的撸Java异步代码了! 这么优雅的Java ORM没见过吧! Java“微服务”还能这么玩! AppBoxFuture: Web在线报表设计与PDF生成 AppBoxFuture实战: 如何同步开发与生产环境的模型 一个浏览器搞定前后端开发的低代码框架正式开放源码啦! AppBoxFuture实战: 如何实现一对多表单的增删改查 AppBoxFuture: Sql存储的ORM查询示例 AppBoxFuture: 集成第三方Sql数据库 AppBoxFuture: 服务模型的在线调试与性能监测 AppBoxFuture: Raft快照及日志截断回收
AppBox拖拽设计增删改查用户界面
白菜园 · 2025-06-13 · via 博客园 - 白菜园

  之前为了应对客制化大屏设计的需求,在框架内实现了拖拽方式(动态化)生成用户界面的功能,跟大部分实现方式差不多,设计时生成配置json,然后在运行时解析json生成用户界面。这次完善了一下该功能,支持类似于零代码平台生成增删改查界面,下面简单介绍一下操作步骤。

一、准备数据结构

  参考之前的文章准备好所需的实体模型。

二、详情视图

  进入开发后台后,主菜单New->View,参考下图选择Dynamic类型的视图。
可以参考之前的可视化大屏设计视频了解一下如何布局组件。

1. 创建数据状态

  点击右上部State旁的添加按钮,添加类型为DataRow,名称为customer的状态,点击右侧修改按纽参考下图选择对应的Customer实体,并选择相应的列。

2. 详情表单布局

  参考下图大纲结构设计表单。

3. 绑定表单至状态

  在设计界面依次选择表单输入项,然后点击右侧属性面板内Text属性面侧的绑定按钮,在弹出的对话框内选择绑定的数据状态对应的列(绑定成功后绑定按纽为变为绿色)。

4. 绑定保存按纽事件

  在设计界面选择保存按纽,然后点击右侧属性面板内的OnTap事件,在弹出对话框内选择SaveData事件操作,并勾选customer数据状态。

三、列表视图

1. 创建数据状态

  先添加类型为String,名称为qName的状态,用于绑定查询过滤条件,然后再添加DataTable类型名为customers的状态,参考下图分别设置查询返回的列及过滤条件。

2. 列表视图布局

  参考下图大纲结构设计列表视图。

3. 绑定按钮事件

  分别绑定新建编辑删除搜索按纽的事件操作,其中新建删除按钮都是绑定至ShowDialog操作,不同的是向目标视图CustomerEdit传入的视图参数分别是CreateRowFetchRow类型,FetchRow视图参数请参考下图设置主键字段来源于当前视图的哪个状态。

四、测试运行

  保存并发布上述模型后,就可以在应用端测试运行了(如下图所示)。

五、待实现功能

  • 目前查询与保存暂未做权限验证,后续将在实体模型设计时提供是否允许动态化查询与保存的相关权限设计;
  • 需要完善如实体关联选择等动态化组件;
  • 事件支持脚本或图形化脚本;

六、本篇小结

  作者个人能力实在有限Bug在所难免,如有问题请邮件联系或Github Issue,欢迎感兴趣的小伙伴们加入共同完善,当然更欢迎赞助项目或给作者介绍工作(目前找工作中)。