B端项目需求分析和架构设计

总体收获 - 数据驱动
期待一下VUE3

最近我在项目中通过JSON来渲染表单, 被提出不好维护
提出不好维护后我有点想换思路,看到老师给的form-render觉得思路是可以的~
代码类似:

 const originFormData = [
   {
      type: 'input',
      key: 'code', // 对应后端的字段
      title: '',
      rules: [],
      api: '', // 是否需要发送请求
      fetched: false, // 是否已经发送请求 一经发送修改状态 不管结果 防止发送多次请求
      dependency: 'otherKey', // 是否依赖其他字段
   }
 ]

我这遇到的痛点是

  • 输入框的数据是请求回来的
  • 输入框有些是级联的

我现在渲染流程:
现在还没和后端同学沟通返回的字段,所以我前端去拼数据结构
状态管理是redux
思路是 我通过Store(JSON)来渲染表单,表单的操作去修改Store, 触发渲染

const formData = initFormdata(originFormData); // 返回一个深度拷贝的对象 这样重置的时候方便一些
updataFormData(data) {
  // ... 业务代码
  // 我现在有递归去设置值 必要的时候会拷贝值
  dispatch(setFormData(data));
}

级联的问题想通过订阅发布来做(还没具体实施)

所以请教一下老师 关于异步请求数据和级联 有没有好一点的解决思路。

Copyright © imooc-lego (2020 - present) all right reserved,powered by GitbookFile Modify: 2021-06-27 08:04:56

results matching ""

    No results matching ""