Создание компонента NotificationBadge в React - PullRequest
0 голосов
/ 21 апреля 2020

Я пытался создать компонент, который служит оболочкой для его дочерних элементов и будет отображать значок в правом верхнем углу своего дочернего элемента верхнего уровня.

Пока что компонент и пример того, чего я пытаюсь достичь

export interface IndicatorProps {
    text?: string;
    children: React.ReactNode;
    containerClassName?: string;
    indicatorClassName?: string;
    indicatorStyle?: React.CSSProperties;
}

export const Indicator = (props: IndicatorProps) => {
    const { children, indicatorClassName, indicatorStyle, containerClassName, text } = props;
    const containerClass = classnames("relative", containerClassName);
    const indicatorClass = classnames("indicator z-10 absolute", indicatorClassName);

    return (
        <div className={containerClass}>
            {children}
            <i style={indicatorStyle} className={indicatorClass}>
                {text}
            </i>
        </div>
    );
};


//Styling in separate file

.indicator {
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    color: white;
    font-size: 10px;
    line-height: 1rem;
    height: 1rem;
    width: 1rem;
    top: -20%;
    right: -20%;
    text-align: center;
}

В идеале я хотел бы сделать следующее: у меня есть значок уведомления в правом верхнем углу

К сожалению, мой текущий код разрывается, когда дочерний элемент div абсолютно позиционирован, и требует, чтобы я вместо этого передал любое из имен классов / стилей дочернему элементу div индикатору.

Если что я написанное не очень логично или требует дальнейшего объяснения, пожалуйста, дайте мне знать, что я понимаю, что я немного пошутил.

Спасибо за любую помощь, которую вы можете мне дать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...