Saltar al contenido principal

Etiqueta

Etiquetas para marcar y seleccionar.

Uso básico​

Uso básico
Etiqueta predeterminadaEtiqueta principalEtiqueta de éxitoEtiqueta redondeadaEtiqueta con contornoTinta chinaEstilo chinoBiblioteca de componentes
import { useState } from 'react'
import { LhTag } from '@lh-ui/react'

export default function Demo() {
const [tags, setTags] = useState(['Tinta', 'Estilo chino', 'Biblioteca de componentes'])

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

return (
<>
<LhTag>Etiqueta predeterminada</LhTag>
<LhTag type="primary">Etiqueta principal</LhTag>
<LhTag type="success">Etiqueta de éxito</LhTag>
<LhTag type="warning" round>Etiqueta redondeada</LhTag>
<LhTag type="danger" hit>Etiqueta con borde</LhTag>
{tags.map((tag) => (
<LhTag key={tag} closable onClose={() => handleClose(tag)}>
{tag}
</LhTag>
))}
</>
)
}

Props de Tag​

PropDescripciónTipoOpcionesPredeterminado
typeTipo'text' | 'primary' | 'success' | 'warning' | 'danger' | 'info'—'text'
sizeTamaño'large' | 'middle' | 'small'—Según ConfigProvider
closableSe puede cerrarboolean—false
disabledDesactivado (no responde a clic ni a cierre)boolean—false
roundBordes redondeadosboolean—false
hitForma con bordeboolean—false
sxPropiedad abreviada de diseñoSxProps——

Eventos de Tag​

EventoDescripciónFirma del callbackEquivalente en Vue
onClickSe dispara al hacer clic (cuando se pasa onClick y no está disabled, el componente pasa a role="button")(event: MouseEvent) => void@click
onCloseClic en el botón de cerrar(event: MouseEvent) => void@close
Interacción de teclado

Una Tag clicable se renderiza como role="button" y responde a Enter / Space. Consulta Accesibilidad.

Cerrar implica desmontaje (mejora de React)

Tras hacer clic en el botón de cerrar, la Tag se desmonta del DOM de inmediato y solo entonces emite onClose. En lh-ui-plus, @close solo emite el evento y es el v-if externo quien retira el nodo; React no tiene directivas, así que exigir un estado externo para controlar el desmontaje en escenarios de pura visualización resulta demasiado pesado, de modo que esta biblioteca incorpora el estado de cierre. Si necesitas controlar tú la visibilidad por completo, basta con envolverla en un renderizado condicional.

Estilos​

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