@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
60 lines (59 loc) • 1.65 kB
TypeScript
import * as React from 'react';
import PropTypes from 'prop-types';
import { FormItemProps } from 'antd';
import BasicComponent from '../../../Base/BasicComponent';
export interface IItemProps extends FormItemProps {
/**
* react-mobx-form bind() 被添加到的子元素索引,默认 0
*/
bindIndex?: number;
/**
* react-mobx-form中的项
*/
field?: string;
/**
* 遮罩,当此项存在时(string | React.ReactNode),只渲染遮罩,不渲染 children 内容
*/
mask?: string | React.ReactNode;
/**
* 隐藏整个 Item,用于动态调整 Item 显示
*/
hide?: boolean;
/**
* Item 说明,此项会在 label 文案的最后添加一个 icon 并附上说明
*/
explain?: string | React.ReactNode;
getPopupContainer?: () => HTMLElement;
}
/**
* Form Item 封装
*/
export default class Item extends BasicComponent<IItemProps, any> {
static defaultProps: {
bindIndex: number;
hide: boolean;
};
static contextTypes: {
mobxForm: PropTypes.Requireable<object>;
styleService: PropTypes.Requireable<object>;
};
handleStyleServiceFieldChange(e: any): void;
calcExtraProps(field: string): {
rootProps: {
label: any;
help: any;
validateStatus: string | undefined;
};
itemProps: any;
} | {
itemProps: {
value: any;
onChange: (e: any) => void;
};
rootProps?: undefined;
} | {
rootProps?: undefined;
itemProps?: undefined;
};
render(): React.JSX.Element;
}