0.0.1 • Published 4 years ago

qing-form v0.0.1

Weekly downloads
5
License
-
Repository
-
Last release
4 years ago

QingForm 📃

QingForm 是一个用于 Angular 动态创建表单的库,JSON配置,支持字段间的灵活联动

如何使用

  1. 安装 qing-form
npm install qing-form --save
  1. 导入 QingFormModule
import { NgModule } from '@angular/core';
import { QingFormModule } from 'qing-form';

@NgModule({
  imports: [
    ...,
    QingFormModule,
  ]
})
export class ShareModule { }
  1. 在组件中使用JSON来配置表单
import { Component, OnInit } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { QfFieldConfig } from 'qing-form';

@Component({
  selector: 'app',
  template: `
    <form [formGroup]="form">
      <qf-form [form]="form" [fields]="fields"></qf-form>
    </form>
  `
})
export class AppComponent {
  form = new FormGroup({});
  fields: QfFieldConfig[] = [
    {
      key: '1',
      type: 'input',
      templateOptions: {
        label: '输入框',
        placeholder: '我是提示'
      }
    }
  ];
}

API

<qf-form [form]="form" [fields]="fields"></qf-form>

qf-form

参数说明类型默认值
[form]当前表单的 FormGroup 实例Array<TemplateRef<void>>new FormGroup({})
fields每一个表单控件的配置信息QfFieldConfig[]

QfFieldConfig

属性说明类型必填
key表单控件的唯一key,于 FormGroup 中的 key 对应string
type表单控件类型'input' \| 'date' \| 'radio' \| 'checkbox'
templateOptions给控件设置交互相关的信息QfTemplateOptions-

QfTemplateOptions

属性说明类型必填
label控件标题string-
placeholder控件默认文字string-
defaultValue控件默认值any-
options选择类型控件选项Array<{ label: string; value: string; checked?: boolean; }>-
valueType控件值联动类型'string' \| 'formula' \| 'custom'-
formula联动值类型为 formula 时,需要计算的公式string-