我有这个吐司组件与2不同的大小。如果用户将smallSize
设置为true
,则duration
值应为4000|五千|6000。如果不小,则duration
值应为6000|七千|8000。通过这样做,我可以限制消费者只选择某些数字,这取决于他们是否选择了smallSize
。但我怎么才能做到呢?现在,我只是包括了持续时间中所有可能的数字,但这不是理想的方法。
interface IToast {
id: string;
open: boolean;
smallSize?: boolean;
title?: string;
content: string;
duration?: 4000 | 5000 | 6000 | 7000 | 8000 | null;
}
const Toast = (props: IToast): JSX.Element => {
const {
id,
open = false,
smallSize = false,
title,
content = "",
duration = null,
} = props;
return <></>;
};
1条答案
按热度按时间ar7v8xwq1#
您需要定义两个单独的接口来扩展IToast
然后像这样使用它们
这样,每当
smallSize
为真时,持续时间只能具有ISmallToast
中定义的值,如果smallSize
为假或未定义,则持续时间只能具有ILargeToast
中定义的值