基础表单

主要涉及到表单的视图输出

表单由主要视图层数据层两部分组成,并弱化视图层,强调数据即视图,通过自动双向数据绑定完成视图层修改响应到数据层,这点跟 vue 的设计不谋而合。

生成表单

  • tpye参数,控制输出的表单类型
  • name参数,自动跟在<iForm>model的数据源进行双向绑定,所以你在只需要关系数据层就好

TIP

ps: name支持嵌套,例如'inner.job',如下示例)


iForm

<iForm>的设计初衷,是希望跟组件库的使用方式一致,无成本使用,所以,传参跟组件库的参数保持一致



form-item

  • 通过formItemProps, 控制原生<el-form-item>的参数
  • 通过slots,控制form-item自带的slots,如:slots: { label: (h) => (<span style="color: gray">label by render</span>) }


具体功能组件传参

  • 通过propsattrs,给具体渲染出来的功能组件(如input, select etc.)进行传参

TIP

正常组件的props,通过props参数来传递

正常的 HTML 特性 比如 input的 maxLength,需要通过attrs来传递

ps: 这是vue jsx 的一个比较不好的特性,目前没有太好的方式解决