Toaster

Mantenedor:
ogonkov
GitHub
title
content
action
theme
autoHiding
isClosable
isMobile

Este es un componente para las notificaciones ajustables, también conocido como brindis.

Uso de la tostadora

Para mostrar los brindis en su solicitud, debe envolverla. ToasterProvider

import {Toaster, ToasterComponent, ToasterProvider} from '@gravity-ui/uikit';

const toaster = new Toaster();

const root = ReactDOMClient.createRoot(document.getElementById('root'));
root.render(
  <ToasterProvider toaster={toaster}>
    <App />
    <ToasterComponent className="optional additional classes" />
  </ToasterProvider>,
);

toaster este es el ejemplo de la clase, que sostiene el estado con todas tus tostadas y se usa bajo el capó en useToaster gancho y withToaster HOC.

Pero también puedes usarlo toaster directamente en diferentes partes de tu aplicación (fuera de React):

toaster.add({
  title: 'Toaster is here',
});

Debes usar la misma instancia de Toaster en React y fuera de ella para mostrar todas las tostadas en el mismo contenedor en la pantalla. Puede implementar esta lógica usted mismo o importar una instancia lista para usar desde toaster-singleton el módulo.

import {toaster} from '@gravity-ui/uikit/toaster-singleton';

Uso useToaster

Puedes mostrar los brindis con el useToaster gancho en los componentes de tu aplicación:

import {useToaster} from '@gravity-ui/uikit';
import {useEffect} from 'react';

export function FoobarComponent() {
  const {add} = useToaster();

  useEffect(() => {
    add({
      title: 'Toaster is here',
    });
  }, []);

  return null;
}

El gancho devuelve los removeAll métodos add update, remove, y (consulte los detalles a continuación).

Toaster Utilización como HOC

Para los componentes de la clase, puede usar el withToaster HOC, que inyectará la toaster propiedad en el componente.

import {Component} from 'react';
import {withToaster} from '@gravity-ui/uikit';

class FoobarComponent extends Component {
  render() {
    this.props.toaster.add({});
  }
}

const FoobarWithToaster = withToaster()(FoobarComponent);

Argumentos del constructor

ParámetroTipoPredeterminadoDescripción
classNamestringundefinedNombre de clase personalizado para agregar al contenedor de componentes
móvilbooleanfalseConfiguración que administra las vistas móviles y de escritorio

Métodos

Nombre del métodoParámetrosDescripción
agregar (ToastOptions)ObjectCrea una nueva notificación
eliminar (nombre)stringElimina manualmente una notificación existente
Eliminar todo ()Elimina todas las notificaciones existentes
actualizar (nombre, OverrideOptions)string, ObjectCambia el contenido de las notificaciones ya renderizado. En overrideOptions, los actions campos title type content, , y son opcionales.
tiene (nombre)stringComprueba si hay un brindis con un nombre determinado en la lista de tostadas mostradas

Más información sobre add

Acepta el toastOptions argumento con los detalles de la notificación en curso:

ParámetroTipoNecesarioPredeterminadoDescripción
nombrestringNombre de notificación único. Las notificaciones con nombres idénticos se agrupan en una
títulostringTítulo de la notificación
classNamestringclase CSS
autoHidingnumber o false5000Número de ms para retrasar la ocultación de la notificación. Se usa false para deshabilitar la ocultación de la tostada después del tiempo de espera
contenidonodeundefinedContenido de las notificaciones. Puede ser cualquier cosa que se pueda representar: números, cadenas, elementos o una matriz
canciónstring"normal"Tema de notificación. Los valores posibles son "normal" "info", "success", "warning" danger, y "utility". Si theme se establece en cualquier otra opción "normal", el icono se añadirá al título de la notificación. De forma predeterminada, no hay ningún icono.
isClosablebooleantrueConfiguración que gestiona la visibilidad del icono X, que permite al usuario cerrar la notificación
accionesToastAction[]undefinedConjunto de acciones que se muestran después content
renderIcon(toastProps: ToastProps) => ReactNodeundefinedSe usa para personalizar el icono de tostadas. El comportamiento basado en tipos se usa de forma predeterminada

Cada action es un objeto con los siguientes parámetros:

ParámetroTipoNecesarioPredeterminadoDescripción
etiquetastringDescripción de la acción
onClick() => voidGestor de clics en acción
vistaButtonViewoutlinedApariencia de acción, igual que view para <Button/>
removeAfterClickbooleantrueActiva o desactiva el cierre de la notificación después de hacer clic en la acción

API CSS

NombreDescripción
--g-toaster-widthAncho del contenedor
--g-toaster-item-paddingRelleno del artículo
--g-toaster-item-gapBrecha de artículos