Перейти к основному содержимому

Тег

Метки для маркировки и выбора.

Базовое использование​

Базовое использование
Тег по умолчаниюОсновной тегТег успехаСкруглённый тегТег с контуромТушьКитайский стильБиблиотека компонентов
import { useState } from 'react'
import { LhTag } from '@lh-ui/react'

export default function Demo() {
const [tags, setTags] = useState(['Тушь', 'Китайский стиль', 'Библиотека компонентов'])

const handleClose = (tag: string) => {
setTags((prev) => prev.filter((item) => item !== tag))
}

return (
<>
<LhTag>Обычный тег</LhTag>
<LhTag type="primary">Основной тег</LhTag>
<LhTag type="success">Тег успеха</LhTag>
<LhTag type="warning" round>Скруглённый тег</LhTag>
<LhTag type="danger" hit>Контурный тег</LhTag>
{tags.map((tag) => (
<LhTag key={tag} closable onClose={() => handleClose(tag)}>
{tag}
</LhTag>
))}
</>
)
}

Tag Props​

СвойствоОписаниеТипВариантыПо умолчанию
typeТип'text' | 'primary' | 'success' | 'warning' | 'danger' | 'info'—'text'
sizeРазмер'large' | 'middle' | 'small'—Из ConfigProvider
closableМожно закрытьboolean—false
disabledОтключён (не отвечает на клик и закрытие)boolean—false
roundСкруглённые углыboolean—false
hitКонтурный стильboolean—false
sxСокращённые props макетаSxProps——

События Tag​

СобытиеОписаниеСигнатура коллбэкаАналог в Vue
onClickСрабатывает по клику (если передан onClick и компонент не disabled, он повышается до role="button")(event: MouseEvent) => void@click
onCloseКлик по кнопке закрытия(event: MouseEvent) => void@close
Взаимодействие с клавиатурой

Кликабельный Tag рендерится как role="button" и реагирует на Enter / Space. См. Доступность.

Размонтирование при закрытии (улучшение React)

После клика по кнопке закрытия Tag немедленно размонтируется из DOM, и лишь затем выбрасывает onClose. В lh-ui-plus @close лишь выбрасывает событие, а узел удаляет внешняя сторона через v-if; в React нет директив, и ради размонтирования сугубо демонстрационного тега вынуждать внешнее управление state слишком тяжело, поэтому закрытое состояние встроено. Если нужен полный контроль над видимостью — оберните тег в условный рендеринг.

Стили​

import '@lh-ui/react/style/tag'