UNPKG

@form-create/iview

Version:

Iview版本低代码表单|FormCreate 是一个可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的低代码表单生成组件。支持6个UI框架,适配移动端,并且支持生成任何 Vue 组件。内置20种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定。

112 lines (87 loc) 2.81 kB
import {FormData, VNodeRule} from "@form-create/core"; import {Col, Row, Tooltip, Poptip, Button, Form, FormItem} from "iview"; import {Api} from "./index"; export interface OptionAttrs { col?: Boolean | Partial<Col & { labelWidth?: number | string; show?: Boolean; }>; row?: Boolean | Partial<Row & { show?: Boolean; }>; info?: Boolean | Partial<(Tooltip | Poptip) & VNodeRule & { show?: Boolean; native?: Boolean; icon?: string; align?: 'left' | 'right'; info?: string; }>; wrap?: Boolean | Partial<VNodeRule & { labelWidth?: number; labelFor?: string; required?: boolean; error?: string; showMessage?: boolean; show?: Boolean; }>; form?: Partial<{ inline?: boolean; labelPosition?: 'left' | 'right' | 'top'; labelWidth?: number; showMessage?: boolean; className?: any; col?: Boolean; }>; submitBtn?: Boolean | Partial<Button & { click?: Function; innerText?: string; show?: Boolean; }>; resetBtn?: Boolean | Partial<Button & { click?: Function; innerText?: string; show?: Boolean; }>; } declare const optionAttrs: Partial<OptionAttrs & { title?: Boolean | Partial<VNodeRule & { show?: Boolean; native?: Boolean; title?: string; }>; }>; export interface CreatorAttrs { col(props: typeof optionAttrs.col): this; wrap(props: typeof optionAttrs.wrap): this; title(props: string | typeof optionAttrs.title): this; info(props: string | typeof optionAttrs.info): this; className(prop: string): this; } export interface RuleAttrs { col?: typeof optionAttrs.col; wrap?: typeof optionAttrs.wrap; title?: string | typeof optionAttrs.title; info?: string | typeof optionAttrs.info; className?: string; } export interface ApiAttrs { btn: { loading(loading: boolean): void; disabled(disabled: boolean): void; show(show: boolean): void; } resetBtn: { loading(loading: boolean): void; disabled(disabled: boolean): void; show(show: boolean): void; } formEl(): undefined | Form; wrapEl(id: string): undefined | FormItem; submit(success: (formData: FormData, api: Api) => void, fail: (api: Api) => void): void; clearValidateState(fields?: string | string[], clearSub?: Boolean): void; clearSubValidateState(fields?: string | string[]): void; validate(callback?: (valid?: boolean) => void): Promise<any>; validateField(field: string, callback?: (valid?: boolean) => void): Promise<any>; submitBtnProps(props: Button): void; resetBtnProps(props: Button): void; }