leo-design-ui
Version:
React Design Library
22 lines (21 loc) • 979 B
TypeScript
import React, { ChangeEvent, ReactElement } from "react";
import { IconProp } from "@fortawesome/fontawesome-svg-core";
type InputSize = 'lg' | 'sm';
/**
* 这里引入ts的一个新语法Omit,忽略类里的属性,只保留我们需要的属性
* 由于我们定义的size是string类型,但是原生input内置的size是number类型,所以会报错
* 使用Omit将原生input内置的size属性忽略掉
*/
export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
disabled?: boolean;
size?: InputSize;
icon?: IconProp;
prepend?: string | ReactElement;
append?: string | ReactElement;
className?: string;
onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
allowClear?: boolean;
onClear?: () => void;
}
declare const Input: ({ disabled, size, style, icon, append, prepend, allowClear, onClear, ...restProps }: InputProps) => import("react/jsx-runtime").JSX.Element;
export default Input;