import React, { Component, type ReactNode } from 'react'; import PropTypes from 'prop-types'; import type { ItemContext, ItemProps } from './types'; export default class Item extends Component { static displayName: string; static propTypes: { prefix: PropTypes.Requireable; rtl: PropTypes.Requireable; label: PropTypes.Requireable; labelCol: PropTypes.Requireable; wrapperCol: PropTypes.Requireable; help: PropTypes.Requireable; name: PropTypes.Requireable; extra: PropTypes.Requireable; validateState: PropTypes.Requireable; hasFeedback: PropTypes.Requireable; style: PropTypes.Requireable; id: PropTypes.Requireable; children: PropTypes.Requireable any) | PropTypes.ReactNodeLike>>; size: PropTypes.Requireable; fullWidth: PropTypes.Requireable; labelAlign: PropTypes.Requireable; labelTextAlign: PropTypes.Requireable; className: PropTypes.Requireable; required: PropTypes.Requireable; asterisk: PropTypes.Requireable; requiredMessage: PropTypes.Requireable; requiredTrigger: PropTypes.Requireable>; min: PropTypes.Requireable; max: PropTypes.Requireable; minmaxMessage: PropTypes.Requireable; minmaxTrigger: PropTypes.Requireable>; minLength: PropTypes.Requireable; maxLength: PropTypes.Requireable; minmaxLengthMessage: PropTypes.Requireable; minmaxLengthTrigger: PropTypes.Requireable>; length: PropTypes.Requireable; lengthMessage: PropTypes.Requireable; lengthTrigger: PropTypes.Requireable>; pattern: PropTypes.Requireable; patternMessage: PropTypes.Requireable; patternTrigger: PropTypes.Requireable>; format: PropTypes.Requireable; formatMessage: PropTypes.Requireable; formatTrigger: PropTypes.Requireable>; validator: PropTypes.Requireable<(...args: any[]) => any>; validatorTrigger: PropTypes.Requireable>; autoValidate: PropTypes.Requireable; device: PropTypes.Requireable; responsive: PropTypes.Requireable; colSpan: PropTypes.Requireable; labelWidth: PropTypes.Requireable>; isPreview: PropTypes.Requireable; renderPreview: PropTypes.Requireable<(...args: any[]) => any>; errorMessageName: PropTypes.Requireable; useLabelForErrorMessage: PropTypes.Requireable; preferMarginToDisplayHelp: PropTypes.Requireable; colon: PropTypes.Requireable; disabled: PropTypes.Requireable; valueName: PropTypes.Requireable; }; static defaultProps: { prefix: string; hasFeedback: boolean; labelWidth: number; }; static contextTypes: { _formField: PropTypes.Requireable; _formSize: PropTypes.Requireable; _formDisabled: PropTypes.Requireable; _formPreview: PropTypes.Requireable; _formFullWidth: PropTypes.Requireable; _formLabelForErrorMessage: PropTypes.Requireable; _formMarginToDisplayHelp: PropTypes.Requireable; }; static _typeMark: string; readonly context: ItemContext; /** * 从子元素里面提取表单组件。TODO: 2.x 中改为只获取一个元素 */ getNames(children: ReactNode): any[]; getHelper(children: ReactNode): React.JSX.Element; getState(children: ReactNode): "warning" | import("@alifd/field").FieldState | undefined; getSize(): "small" | "medium" | "large"; getDisabled(): boolean | undefined; getIsPreview(): boolean | undefined; getFullWidth(): boolean; getLabelForErrorMessage(): string | null; getItemLabel(children: ReactNode): React.JSX.Element | null; getItemWrapper(children: ReactNode): React.JSX.Element; getLabelAlign(labelAlign: ItemProps['labelAlign'], device: ItemProps['device']): "left" | "top" | "inset" | undefined; render(): React.JSX.Element; }