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ámetro | Tipo | Predeterminado | Descripción |
---|---|---|---|
className | string | undefined | Nombre de clase personalizado para agregar al contenedor de componentes |
móvil | boolean | false | Configuración que administra las vistas móviles y de escritorio |
§Métodos
Nombre del método | Parámetros | Descripción |
---|---|---|
agregar (ToastOptions) | Object | Crea una nueva notificación |
eliminar (nombre) | string | Elimina manualmente una notificación existente |
Eliminar todo () | Elimina todas las notificaciones existentes | |
actualizar (nombre, OverrideOptions) | string , Object | Cambia el contenido de las notificaciones ya renderizado. En overrideOptions , los actions campos title type content , , y son opcionales. |
tiene (nombre) | string | Comprueba 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ámetro | Tipo | Necesario | Predeterminado | Descripción |
---|---|---|---|---|
nombre | string | sí | Nombre de notificación único. Las notificaciones con nombres idénticos se agrupan en una | |
título | string | Título de la notificación | ||
className | string | clase CSS | ||
autoHiding | number o false | 5000 | Nú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 | |
contenido | node | undefined | Contenido de las notificaciones. Puede ser cualquier cosa que se pueda representar: números, cadenas, elementos o una matriz | |
canción | string | "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. | |
isClosable | boolean | true | Configuración que gestiona la visibilidad del icono X, que permite al usuario cerrar la notificación | |
acciones | ToastAction[] | undefined | Conjunto de acciones que se muestran después content | |
renderIcon | (toastProps: ToastProps) => ReactNode | undefined | Se 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ámetro | Tipo | Necesario | Predeterminado | Descripción |
---|---|---|---|---|
etiqueta | string | sí | Descripción de la acción | |
onClick | () => void | sí | Gestor de clics en acción | |
vista | ButtonView | outlined | Apariencia de acción, igual que view para <Button/> | |
removeAfterClick | boolean | true | Activa o desactiva el cierre de la notificación después de hacer clic en la acción |
§API CSS
Nombre | Descripción |
---|---|
--g-toaster-width | Ancho del contenedor |
--g-toaster-item-padding | Relleno del artículo |
--g-toaster-item-gap | Brecha de artículos |