Skip to content

更新日志

需求收集: 如果您有好的建议可以通过 github / gitee / 联系我 的方式提交给我


3.1.31 (2024-05-09)

3.1.30 (2024-05-09)

Features🌟

  • 优化渲染逻辑, 提升表单性能
  • 新增 api 增加 getRenderRule 方法, 获取组件的最终渲染规则
  • 新增 api 增加 getRefRule 方法, 可以通过 name 字段获取规则
  • 新增 api 增加 bus 属性, 可以监听和触发自定义事件
  • 新增 api 增加 fetch 方法, 可以手动加载远程数据
  • 新增 upload 回调参数中增加 linkField 字段,可以判断是由那个关联字段触发
  • 新增 validate 自动注入 inject 字段,可以在自定义验证函数中拿到规则和api
  • 新增 组件的options配置中增加 onChange 回调,修改表单时触发
  • 优化 reuqired 属性
  • 优化 修改组件的 disabled 配置实现逻辑

3.1.29 (2024-03-29)

  • 新增 api增加Top字段, 获取最顶级表单的api
  • 新增 组件增加disabled配置,全局禁用表单组件
  • 优化组件隐藏逻辑
  • 优化element-plus兼容性
  • 优化 子表单基础表单配置
  • 优化 计算属性
  • 修复 options.beforeFetch 配置不生效问题

3.1.28 (2024-02-21)

  • 组件增加title插槽,支持自定义表单的标签区域
  • 修复 options.title 配置不生效问题
  • 修复 options.beforeFetch 配置不生效问题

3.1.27 (2024-01-03)

  • 优化渲染
  • 优化acro-design的datePicker组件
  • 修复 group组件expand失效问题

3.1.26 (2023-11-01)

Features🌟

  • 适配ant-design-vue4.0版本
  • frame组件增加禁用状态的样式
  • 优化Promise异常捕获

3.1.25 (2023-09-13)

  • options中增加beforeFetch配置,用于处理fetch请求时的参数
  • select组件支持渲染optionGroup组件
  • fetch中的action支持配置为promise, 直接加载数据

3.1.24 (2023-08-23)

Features🌟

  • 重构 group组件, 重写样式,并增加序号和上下移动功能,增加sortBtn和parse参数
  • 新增 api中新增wrapElformEl方法,用于获取对应的vue组件实例
  • 新增 formCreate新增setDataremoveData方法
ts
type setData = (name:string,value:any) =>void;
type removeData = (name:string)=>void;
type setData = (name:string,value:any) =>void;
type removeData = (name:string)=>void;
  • 新增 增加loadData自定义属性
js
//设置数据
formCreate.setData('address',[]);
//设置数据
formCreate.setData('address',[]);
js
//生成规则
{
    type:'select',
    options: [],
    effect: {
        loadData:{
            attr:'address',
            to:'options'
        }
    }
}
//生成规则
{
    type:'select',
    options: [],
    effect: {
        loadData:{
            attr:'address',
            to:'options'
        }
    }
}
  • 优化 fetch.parse 配置,支持配置字符串,指定路径,例如props.options

3.1.23 (2023-07-14)

  • 优化 替换代码中的eval方法
  • 修复 事件注入时参数丢失问题
  • 修复 修复子表单配置继承失效问题

3.1.22 (2023-06-22)

  • 新增 rule中的update配置项增加了一个来源参数,可以用来判断触发方式
ts
type Origin = 'init' | 'link' | 'change';
type update = (value:any, api:Api, origin:Origin) => boolean|undefined;
type Origin = 'init' | 'link' | 'change';
type update = (value:any, api:Api, origin:Origin) => boolean|undefined;
  • 新增 增加针对field设置插槽,格式为'field-'+field
ts
//生成规则
{
  field:'name'
}
//生成规则
{
  field:'name'
}
html
<form-create>
  <slot #field-name="slot">
    //render
  </slot>
</form-create>
<form-create>
  <slot #field-name="slot">
    //render
  </slot>
</form-create>
  • 新增 增加自定义属性componentValidate, 可以通过组件的方法进行验证
ts
//生成规则
{
  effect: {
    componentValidate: true
    // componentValidate: 'check'
  }
}
//生成规则
{
  effect: {
    componentValidate: true
    // componentValidate: 'check'
  }
}
ts
//自定义组件
{
  methods:{
    //check(){//todo}
    formCreateValidate(val,call) {
      //todo
      call();
    }
  }
}
//自定义组件
{
  methods:{
    //check(){//todo}
    formCreateValidate(val,call) {
      //todo
      call();
    }
  }
}
  • 新增 前后缀组件支持注入formCreateInject

  • 增加 validate-fail表单验证失败和validate-field-fail字段验证失败事件

  • 优化 tdesign兼容新版本字段验证

  • 优化 组件挂载

3.1.21 (2023-04-27)

  • 优化组件渲染
  • 修复 富文本组件默认选中问题

3.1.19 (2023-04-17)

  • 新增 增强control配置项,增加method,condition配置
ts
type method=  'display' | 'disabled' | 'hidden' | 'required';
type condition = '==' | '!=' | '<>' | '>' | '>=' | '<' | '<=' | 'in' | 'notIn' | 'on' | 'notOn' | 'between' | 'notBetween';
type method=  'display' | 'disabled' | 'hidden' | 'required';
type condition = '==' | '!=' | '<>' | '>' | '>=' | '<' | '<=' | 'in' | 'notIn' | 'on' | 'notOn' | 'between' | 'notBetween';
  • 新增 支持通过rule.cache来配置组件是否只渲染一次
  • 优化 组件挂载功能
  • 优化 自定义属性required
  • 修复 group组件按钮展示问题
  • 修复 设置自定义属性required后,验证规则失效问题

3.1.18 (2023-01-31)

  • 修复 upload组件中limit为1时,返回数据结构错误问题
  • 修复 子表单验证问题

3.1.17 (2022-12-11)

  • 新增 auto-import.js文件的ts描述文件
  • 优化 ElementUI中的upload组件增加onPreview参数
  • 修复 FcRow组件不存在问题

3.1.16 (2022-10-23)

  • 优化 upload组件功能

3.1.15 (2022-10-05)

  • 优化 uniqueId方法的生成规则,默认F开头
  • 优化FormItem生成

3.1.14 (2022-09-12)

  • 优化 group组件add事件触发
  • 删除 value默认转换功能
  • 修复 tdesignUI中的auto-import.js文件丢失

3.1.13 (2022-08-21)

  • 新增 api中新增clearEffectData方法, 支持清空effect数据
  • 新增 options中新增forceCoverValue配置项,可以设置modelValue是否覆盖更新,默认为false
  • 新增 支持重写fetch请求方法
js
formCreate.fetch = (options) =>{
  //todo
}
formCreate.fetch = (options) =>{
  //todo
}
  • 优化 api中的coverValue方法
  • 优化 elementUI中的group组件展示
  • 优化 rule中的type非必填,默认为input
  • 优化 api中的resetFields方法
  • 修改 修改options后可能不生效问题

3.1.12 (2022-07-24)

  • 适配 TDesign UI框架 (感谢开发者daiwenyong的贡献 )
  • 优化 自定义属性required 提示语
  • 优化 ts

3.1.11 (2022-07-03)

  • 修复 control 可能失效问题
  • 修改 自定义属性required 提示语
  • 优化 ts

3.1.10 (2022-06-19)

  • 优化 control 配置项 #506
  • 优化 value 值同步
  • 优化 内置组件的key
  • 适配 ant-design-vue 最新版本 upload 组件

3.1.9 (2022-06-05)

  • 修复 modelField 可能失效问题 #500
  • 优化 display 配置
  • 优化 group 组件, 修改rule后支持自动更新

3.1.8 (2022-05-11)

  • 修复渲染时可能会报错问题 #496
  • 优化 ts

3.1.7 (2022-05-02)

  • 修复表单的 options 配置失效问题

3.1.6 (2022-05-02)

  • rule 新增 component 配置项, 快速定义用于规则渲染的自定义组件. 之前需要先挂载自定义组件

例如:

js
  //通过 component 设置自定义组件
  const rule = {
      type:'test',
      component: {
          render(h){
              return h('span','test')
          }
      }
  }
  //通过 component 设置自定义组件
  const rule = {
      type:'test',
      component: {
          render(h){
              return h('span','test')
          }
      }
  }
  • rule 新增 computed 配置项, 用于动态计算 value
  • ant-design-vue 增加 inputPassword 组件
  • 优化 group 组件, 修改子表单规则后回自动同步修改已生成的子表单规则
  • 移除 appendData

3.1.4 (2022-03-20)

  • api 新增 setEffect 方法, 设置组件的自定义属性

例如:

js
  const rule = {
    type:'input',
    field:'input',
    effect:{
      required: true
    }
  }


api.setEffect('input','required', false);
  const rule = {
    type:'input',
    field:'input',
    effect:{
      required: true
    }
  }


api.setEffect('input','required', false);
  • 优化 重新实现subForm, 自动绑定子表单, 无需手动绑定
  • 优化 required 自定义属性

3.1.3 (2022-03-14)

  • 新增 requierd 自定义属性, 可以实现不同value类型的表单组件必填

例如:

js
  //设置组件必填
  const rule = {
    type:'input',
    effect:{
      required: true
    }
  }
  //自定义错误信息
  const rule = {
    type:'input',
    effect:{
      required: '自定义错误信息'
    }
  }
  //关闭组件必填
  const rule = {
    type:'input',
    effect:{
      required: false
    }
  }
  //设置组件必填
  const rule = {
    type:'input',
    effect:{
      required: true
    }
  }
  //自定义错误信息
  const rule = {
    type:'input',
    effect:{
      required: '自定义错误信息'
    }
  }
  //关闭组件必填
  const rule = {
    type:'input',
    effect:{
      required: false
    }
  }
  • 新增 支持通过$[attr]设置自定义属性

例如:

js
  //自定义错误信息
  const rule = {
    type:'input',
    $required: '自定义错误信息'
  }
  //自定义错误信息
  const rule = {
    type:'input',
    $required: '自定义错误信息'
  }
  • 更新 frame 组件, 可以通过form_create_helper.api操作表单
  • 更新 group 组件 props 增加 defaultValue 配置项
  • 优化 auto-import
  • 修复 AsyncFunction 方法未执行问题 #466

3.1.2 (2022-03-02)

  • 优化 auto-import
  • 优化 组件挂载
  • 优化 默认值

3.1.0 (2022-02-20)

  • 新增 按需加载组件
  • 新增 适配 naive-ui
  • 新增 适配 arco-design
  • 新增 适配 element-plus2.0
  • 重构 element-plus radio,checkbox组件
  • 新增 html 组件
  • 新增 options, children 字段支持异步加载
  • 新增 getApi方法

不兼容项

  • 重构 element-plus upload 组件, 部分配置项失效
  • 重新实现 formCreateInect, 改为通过 props 接收

3.0.1 (2022-02-13)

  • 新增 子表单支持插槽扩展
  • 新增 ant-design-vue 支持 ts
  • 优化 select,radio,frame 组件 modelValue 类型
  • 优化 表单未渲染时验证报错
  • 修复 api.clearValidateState 方法报错

3.0.0.alpha.4 (2022-01-07)

  • 新增 子表单支持插槽扩展
  • 新增 ant-design-vue 支持 ts
  • 优化 group 组件
  • 优化 json 解析
  • 同步 2.5.17版本功能

3.0.0.alpha.3 (2021-12-28)

  • 同步 2.5.16版本功能
  • 修复option 不显示问题

3.0.0.alpha.2 (2021-11-19)

  • 适配 vue3 版本
  • 功能与2.5.12版本一致