Слияние кода завершено, страница обновится автоматически
import React, { CSSProperties, FocusEventHandler, MouseEventHandler, useContext } from 'react';
import classNames from 'classnames';
import createFromIconfontCN from './IconFont';
import ConfigContext from '../config-provider/ConfigContext';
export interface IconProps {
type: string;
className?: string;
title?: string;
customFontName?: string;
onClick?: MouseEventHandler<any>;
onFocus?: FocusEventHandler<any>;
onMouseDown?: MouseEventHandler<any>;
onMouseUp?: MouseEventHandler<any>;
onMouseEnter?: MouseEventHandler<any>;
onMouseLeave?: MouseEventHandler<any>;
style?: CSSProperties;
tabIndex?: number;
width?: number | string;
height?: number | string;
scriptUrl?: string;
}
const Icon = function Icon(props: IconProps) {
const { getConfig } = useContext(ConfigContext);
const iconfontPrefix = getConfig('iconfontPrefix');
const { type, customFontName, height, width, className = '', scriptUrl, ...otherProps } = props;
const classString = classNames(iconfontPrefix, customFontName, `${iconfontPrefix}-${type}`, className);
if (
scriptUrl &&
typeof document !== 'undefined' &&
typeof window !== 'undefined' &&
typeof document.createElement === 'function'
) {
const SvgIcon = createFromIconfontCN({ scriptUrl });
if (SvgIcon) {
return <SvgIcon type={type} width={width} height={height} />;
}
}
return <i {...otherProps} className={classString} />;
};
Icon.displayName = 'Icon';
Icon.createFromIconfontCN = createFromIconfontCN;
Icon.__C7N_ICON = true;
export default Icon;
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )