ukelli-ui
Version:
Base on React's UI lib. Make frontend's dev simpler and faster.
60 lines (59 loc) • 2.05 kB
TypeScript
/**
* 组件名 form 通用布局文件
* 作者 Alex
* 创建日期 2017-03-30
*/
/// <reference types="react" />
import { AlertProps } from '../alert/alert';
import FormGenerator, { FormGeneratorProps } from './form-generator';
import { UkeComponent } from '../utils/uke-component';
import { ButtonProps } from '../button/button-basic';
export interface FormLayoutBtn extends ButtonProps {
/** 点击按钮的回调 */
action?: (formRef: FormGenerator, actingRef?: string) => void;
/** 记录该按钮的状态 */
actingRef?: string;
/** 该按钮是否需要预检查 */
preCheck?: boolean;
/** className */
className?: string;
}
export declare type FormLayoutBtnsConfig = FormLayoutBtn[];
export interface FormLayoutProps extends FormGeneratorProps {
/** 只有一个按钮时传入的按钮 text */
btnText?: string;
/** FormLayout 的 className */
className?: string;
/** 是否已准备好渲染 */
ready?: boolean;
/** 传入 Alert 控件的参数 */
tipInfo?: AlertProps;
/** 表单操作按钮 */
formBtns?: FormLayoutBtnsConfig;
/** 已改名为 formBtns */
btnConfig?: FormLayoutBtnsConfig;
/** 操作的返回是否有错误 */
hasErr?: boolean;
/** 操作返回的消息 */
resDesc?: string;
/** 在 form 之前插入的 children */
childrenBeforeForm?: any;
/** 在 form 之后插入的 children */
childrenAfterForm?: any;
/** 在 form 的 children 前插入按钮 */
childrenBeforeBtn?: any;
}
export default class FormLayout extends UkeComponent<FormLayoutProps> {
private __changedDesc;
toast: any;
formHelper: FormGenerator;
clearValue: any;
shouldComponentUpdate(nextProps: any, nextState: any, nextContext: any): boolean;
showResDesc(resInfo: any): void;
showDesc(resInfo: any): void;
preCheck(): boolean;
_handleClickBtn: (formBtns: any) => void;
saveFormRef: (e: FormGenerator) => void;
getDefaultBtn: () => FormLayoutBtn;
render(): JSX.Element;
}