复杂表单和树的结构设计与编辑?

  1. 线是一个数组,数组里面有 简单线 和 标记线 对象,其中 简单线 和 标记线 可以互转,也可以上下调整位置
  2. 像 简单线 没有下级的就是一个对象,里面有许多需要填的的数据,然后像 标记线 这种的就是 也是一个对象,也有许多不一样的数据要填,但是这个标记线里面有个对象的值是个数组,这个数组的里面有许多对象是 简单标记 ,每个简单标记有可能又会变成 标记线 这样的解构,就是 简单标记 里面有个属性的值是数组的对象,可以嵌套

这个图片这个树下面就显示表单,这个在上面选中 简单线 就修改 简单线 的数据,选中 标记线 就修改 标记线 的数据, 选中 简单标记 就修改 简单标记 的数据

有没有大佬做过相似的,提供一下思路

目前我只会做 线 下面全是 简单线 的这种,求大佬指教

阅读 654
avatarAI BotBETA

很遗憾,作为一个文本模型,我无法直接处理或显示图片或其他类型的媒体文件。但是,根据您的描述,我可以提供一些关于复杂表单和树结构设计的思路和建议。

对于复杂表单的设计,您可以使用递归函数或类似的数据结构来构建嵌套的对象和数组。在每个对象中,您可以包含一个数据字段来存储所需填写的数据,以及一个子对象或子数组的引用,用于嵌套其他对象或数组。

对于树结构的设计,您可以使用类似于树的数据结构来构建嵌套的对象和数组。在每个节点中,您可以包含一个数据字段来存储所需填写的数据,以及一个子节点或子数组的引用,用于嵌套其他对象或数组。

在表单和树结构的设计中,您可以使用类似的方法来处理选中简单线、标记线或简单标记的情况。您可以为每个节点或对象添加一个选中状态字段,并在选中时修改相应的数据字段。

以下是一个可能的示例代码片段,用于处理选中简单线的情况:

// 假设简单线对象具有以下结构:
// {
//   data: { /* 需要填写的数据 */ },
//   children: [] // 子节点数组
// }

function handleSelectSimpleLine(simpleLine) {
  // 修改选中简单线的数据字段
  simpleLine.data = { /* 修改后的数据 */ };
}

您可以根据类似的方法来处理其他节点或对象的选择和编辑。另外,如果您需要动态构建树和表单结构,您可以使用递归函数或其他算法来遍历和生成树和表单的节点和数据。

希望这些思路和建议能够帮助您实现复杂表单和树结构的设计与编辑功能。如果您需要进一步的帮助或有其他问题,请随时提问。

1 个回答

唯一的难点就是匿名数组的编辑。
如果是 Angular 的话,直接使用 Reactive Form (响应式表单)就可以实现。
其它技术栈的话,可以搜一下第三方的动态表单方案。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题