/** * @file 表单项校验配置 */ import React from 'react'; import { ConditionBuilderFields } from 'amis'; import { ValidatorData } from './ValidationItem'; import type { FormControlProps } from 'amis-core'; import { Validator, ValidatorTag } from '../validator'; export type ValidatorFilter = string[] | ((ctx: any) => string[]); export interface ValidationControlProps extends FormControlProps { /** * 匹配验证器标签进行默认和顶部可选的验证器展示 */ tag: ValidatorTag | ((ctx: any) => ValidatorTag); } interface ValidationControlState { avaliableValids: { moreValidators: Record; defaultValidators: Record; builtInValidators: Record; }; fields: ConditionBuilderFields; } export default class ValidationControl extends React.Component { cache?: any; constructor(props: ValidationControlProps); componentDidMount(): Promise; componentWillReceiveProps(nextProps: ValidationControlProps): void; buildFieldsData(): Promise; getAvaliableValids(props: ValidationControlProps): { defaultValidators: Record; moreValidators: Record; builtInValidators: Record; }; transformValid(data: any): ValidatorData[]; /** * 统一更新校验相关字段 */ updateValidation(validators: ValidatorData[]): void; /** * 添加规则 * * @param {Validator} valid 校验规则配置 */ handleAddValidator(valid: Validator): void; /** * 更新校验规则 */ handleEditRule(data: ValidatorData): void; /** * 删除校验规则 */ handleRemoveRule(valid: string): void; /** * 开关默认规则 */ handleSwitchRule(checked: boolean, data: ValidatorData): void; /** * 添加规则下拉框 */ renderDropdown(): React.JSX.Element; /** * 规则列表 */ renderValidaton(): React.JSX.Element; filterCustomRendererProps(rendererSchema: any): any; /** * 获取rendererSchema的值 */ static getRendererSchemaFromProps(props: ValidationControlProps): any; render(): React.JSX.Element; } export declare class ValidationControlRenderer extends ValidationControl { } export {};