- 
                    布局
 - 
                    表单
 - 
                    通知
 - 
                    导航
 - 
                    其它
 
表单 KLForm
基本形式
一个表单元素占一行, 并且label通过设置宽度居右对齐
  | 
表单项的说明
两种方式,一种是配置tip, 另外一种是设置descTemplate, descTemplate可以是简单的html字符串
  | 
表单项label
label部分可设置labelSize, labelLineHeight, titleTemplate三个属性
labelSize可以设置在kl-form-item上, 如果kl-form下的kl-form-item的labelSize都一样,则可将labelSize设置在kl-form上labelLineHeight用法同labelSizetitleTemplate支持简单的html字符串
  | 
一行多个表单元素的布局
可以配合kl-row与kl-col栅格布局组件实现
  | 
下拉选项列表获取
 此项功能需要后端配合实现一个接口,该接口接收以逗号间隔的key值,并解析后返回对应key值的下拉列表; 请打开浏览器开发者工具, 在network中查看对应请求的数据格式
- 默认返回的数据格式是被包裹在
data中, 如果路径不满足需求,可以通过设置sourcePath自定义访问数据的路径 
  | 
  | 
表单项layout
  | 
简单表单验证
如果表单项是必填,则可以在kl-form-item上配置required属性,并通过message配置未填写时的提示文案; 除了最基本的必填校验外,各表单元素组件可以通过配置rules属性实现各种复杂的校验; 参见复杂表单验证
  | 
  | 
复杂表单验证
每个表单元素都内置一些基本的校验属性, 如input设置type=”email”, 触发校验时就会校验用户输入的是否是合法的email地址;
除内置的基本校验属性外, 每个表单元素组件都有一个rules属性, rules属性的基本格式是{type: '',message: ''}, type的可选值参见validatorJS
如果需要自定义验证函数, 可配置method属性
  | 
  | 
API
KLForm
KLForm
| Param | Type | Default | Description | 
|---|---|---|---|
| [options.data] | object | 
= 绑定属性 | |
| [options.data.service] | string | 
=> 全站异步获取source的接口地址 | |
| [options.data.class] | string | 
=> 扩展样式 | |
| [options.data.inline] | boolean | 
=> 如果true,kl-form-item按照inline-block排列 | |
| [options.data.sourcePath] | string | 
"data" | 
=> 获取到select数据后,读取json数据的路径 | 
| [options.data.labelSize] | string/number | 
=> 批量设置kl-form-item的labelSize,取值与kl-form-item的labelSize相同 | |
| [options.data.labelLineHeight] | string/number | 
=> 批量设置kl-form-item的labelLineHeight,取值与kl-form-item的labelLineHeight相同 | 
.validate() 验证所有表单组件method
Returns: object - conclusion 结果说明
sourceCompleted kl-form自动获取sourceKey异步数据后触发Event
| Name | Type | Description | 
|---|---|---|
| sender | object | 
事件发送对象 | 
| result | object | 
所有异步数据 | 
KLFormItem
KLFormItem
| Param | Type | Default | Description | 
|---|---|---|---|
| [options.data] | object | 
= 绑定属性 | |
| [options.data.title] | string | 
=> label显示的文字 | |
| [options.data.titleTemplate] | string | 
=> title 模板 | |
| [options.data.descTemplate] | string | 
=> 说明区块模板 | |
| [options.data.cols] | number | 
=> [deprecated]布局列数, 请使用布局组件代替直接设置cols属性 | |
| [options.data.labelCols] | number | 
=> [deprecated]如果有title, label占的列数, 建议使用labelSize | |
| [options.data.labelSize] | string/number | 
200 | 
=> 如果有title, label占的宽度,可以是px单位的数字,也可以是sm, md, lg, xlg | 
| [options.data.labelLineHeight] | string | 
"'2.5'" | 
=> label line-height 属性: 可以是数字值,也可以是sm(值:1), md(值:1.6), lg(值:2.5) | 
| [options.data.textAlign] | string | 
"none" | 
=> label text-align 属性:none/left/right | 
| [options.data.required] | boolean | 
false | 
=> 是否必选项 | 
| [options.data.tip] | string | 
=> 字段说明 | |
| [options.data.class] | string | 
=> 样式扩展 | |
| [options.data.layout] | string | 
=> 排列方式: 默认(横着排)/vertical/inline; | |
| [options.data.sourceKey] | string | 
=> 异步获取下拉列表接口的索引值 | 
      想让文档更完善?
      
        来 GitHub 提个 PR 吧!