iFormItem

iFormItem简单来说就是将组件库的form-item 与 具体渲染组件 组合起来的复合组件,所以so-form就会一些组件传参的约定

'top'
suffix
暂无数据
自定义内容

iFormItem 配置

Name Type Default Description example
label string '' 表单标签名称 姓名
name string 会去<iForm>的model对象里找到值进行双向绑定(支持多级路径,如'obj.a.b'或'obj.0.b') 'name' 或 'obj.name'
type string '' 具体渲染的表单类型, 目前支持element常用的全部组件,若不支持可在企业微信找王瑞(ps: 全小写) 'input'
options array 若type是selectradio那么具体的选型就由options参数来实现 options: [{value: 1, name: '否'}, {value: 2, name:'是'}]
render function type的类型为 custom, (组件中涉及到的render全为jsx写法) (h) => <span>这个一个测试render</span>
props Object {} 传递实际功能组件的参数列表
formItemProps Object {} 传递给 element form-item 组件的参数列表 {}
slots Object {} 传给 element form-item 的slot(ps:参数 h 必填) { label: (h) => (<span>text label</spa>) }
when boolean or function {} 控制form-item是否渲染 true or () => true
top string 或 function '' 或 (h) => {} 设置formItem上面的插槽(如下图) 'top' 或者 (h) => <span>top</span>
prefix string 或 function '' 或 (h) => {} 设置formItem左边的插槽(如下图) 'prefix' 或者 (h) => <span>prefix</span>
suffix string 或 function '' 或 (h) => {} 设置formItem右边的插槽(如下图) 'suffix' 或者 (h) => <span>suffix</span>
bottom string 或 function '' 或 (h) => {} 设置formItem下面的插槽(如下图) 'bottom' 或者 (h) => <span>bottom</span>

TIP

比如 vue 事件 或者 指令 的使用参数 详见 vue jsx 写法,写法一致, 比如@change事件, 会变成参数 on: { change: () => {},诸如此类 }

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

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

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