import React, { useEffect, useMemo, useState } from 'react'; const LargeScreenComponentTabs: React.FC = ( props ) => { const { value, list = [], change, styles } = props; const [defaultValue, setDefaultValue] = useState(value); //默认选中值 useEffect(() => { setDefaultValue(value); }, [value]); //tabs的点击事件 const changeTabs = (item: string) => { setDefaultValue(item); change?.(item); }; const Dom = useMemo(() => { return (
{list?.length > 0 && list?.map((item, index) => { return (
{ changeTabs(item); }} > {item}
); })}
); }, [defaultValue, list, styles, value]); return Dom; }; export default LargeScreenComponentTabs; export interface ILargeScreenComponentTabs { value?: string; list?: string[] | number[]; change?: Function; styles?: React.CSSProperties; }