El componente Ignite UI for React cuadro de diálogo se utiliza para mostrar cierta información o solicitar al usuario una acción o confirmación. Se muestra en una ventana modal, lo que significa que el usuario no puede interactuar con la aplicación principal hasta que se realice una determinada acción que cierre el cuadro de diálogo.
Ignite UI for React Dialog Example
En este ejemplo se muestra cómo crear un componente de diálogo en React.
EXAMPLE
TSX
CSS
importReactfrom'react';
importReactDOMfrom'react-dom/client';
import'./index.css';
import { IgrButton, IgrDialog, IgrButtonModule, IgrDialogModule } from"@infragistics/igniteui-react";
import'igniteui-webcomponents/themes/light/bootstrap.css';
IgrButtonModule.register();
IgrDialogModule.register();
exportdefaultclass DialogOverview extendsReact.Component<any, any> {
public dialogRef: IgrDialog;
constructor(props: any) {
super(props);
this.onDialogRef = this.onDialogRef.bind(this);
this.onDialogShow = this.onDialogShow.bind(this);
this.onDialogHide = this.onDialogHide.bind(this);
}
publicrender(): JSX.Element {
return (
<divclassName="container sample"><IgrButtonvariant="contained"clicked={this.onDialogShow}><span>Show Dialog</span></IgrButton><IgrDialogtitle="Confirmation"ref={this.onDialogRef}><p>Are you sure you want to delete the Annual_Report_2016.pdf and Annual_Report_2017.pdf files?</p><divslot="footer"><IgrButtonclicked={this.onDialogHide}variant="flat"><span>Cancel</span></IgrButton><IgrButtonclicked={this.onDialogHide}variant="flat"><span>OK</span></IgrButton></div></IgrDialog></div>
);
}
public onDialogRef(dialog: IgrDialog){
if (!dialog) { return; }
this.dialogRef = dialog;
}
public onDialogShow() {
if(this.dialogRef){
this.dialogRef.show();
}
}
public onDialogHide() {
if(this.dialogRef){
this.dialogRef.hide();
}
}
}
// rendering above class to the React DOMconstroot = ReactDOM.createRoot(document.getElementById('root'));
root.render(<DialogOverview/>);
tsx
/* shared styles are loaded from: *//* https://static.infragistics.com/xplatform/css/samples */css
Like this sample? Get access to our complete Ignite UI for React toolkit and start building your own apps in minutes. Download it for free.
Usage
Primero, debes instalar el paquete npm Ignite UI for React correspondiente ejecutando el siguiente comando:
npm install igniteui-react
cmd
A continuación, deberá importar el React IgrDialog, su CSS necesario, y registrar su módulo, de la siguiente manera:
Para obtener una introducción completa a la Ignite UI for React, lea el tema Primeros pasos.
La forma más sencilla de mostrar el componente de diálogo es utilizar su método show y llamarlo al hacer clic en un botón.
<IgrButtonvariant="contained"clicked={this.onDialogShow}><span>Show Dialog</span></IgrButton><IgrDialogref={this.onDialogRef}><span>Dialog Message</span></IgrDialog>public onDialogRef(dialog: IgrDialog) {
if (!dialog) { return; }
this.dialogRef = dialog;
}
public onDialogShow() {
if (this.dialogRef) {
this.dialogRef.show();
}
}
tsx
El componente Diálogo proporciona una propiedad open, que le brinda la posibilidad de configurar su estado según el escenario de su aplicación.
Utilice la propiedad title para establecer el título del diálogo. Sin embargo, si se proporciona algún contenido en el espacio title, tendrá prioridad sobre la propiedad.
Se pueden colocar botones de acción o información adicional en la parte inferior del cuadro de diálogo a través de la ranura del pie footer. Si no se agrega ningún contenido allí, se mostrará un botón OK predeterminado que cierra el cuadro de diálogo al hacer clic. En caso de que no desee que se muestre este botón, puede establecer la propiedad hideDefaultAction en verdadero. El valor predeterminado es falso.
Closing
De forma predeterminada, el cuadro de diálogo se cierra automáticamente cuando el usuario presiona ESC. Puede evitar este comportamiento utilizando la propiedad keepOpenOnEscape. El valor predeterminado es falso. Si hay un menú desplegable abierto (o cualquier otro elemento que deba manejar ESC internamente) en el cuadro de diálogo, presionar ESC una vez cerrará el menú desplegable y presionarlo nuevamente cerrará el cuadro de diálogo.
Utilice la propiedad closeOnOutsideClick para configurar si el cuadro de diálogo debe cerrarse al hacer clic fuera de él. El valor predeterminado es falso.
EXAMPLE
TSX
CSS
importReactfrom'react';
importReactDOMfrom'react-dom/client';
import'./index.css';
import { IgrButton, IgrDialog, IgrSwitch, IgrButtonModule, IgrDialogModule, IgrSwitchModule } from"@infragistics/igniteui-react";
import'igniteui-webcomponents/themes/light/bootstrap.css';
IgrButtonModule.register();
IgrDialogModule.register();
IgrSwitchModule.register();
exportdefaultclass DialogClosingVariations extendsReact.Component<any, any> {
public dialogRef: IgrDialog;
constructor(props: any) {
super(props);
this.onDialogRef = this.onDialogRef.bind(this);
this.onDialogShow = this.onDialogShow.bind(this);
this.onDialogHide = this.onDialogHide.bind(this);
this.onSwitchChangeEscape = this.onSwitchChangeEscape.bind(this);
this.onSwitchChangeClick = this.onSwitchChangeClick.bind(this);
}
publicrender(): JSX.Element {
return (
<divclassName="container sample"><IgrSwitchlabelPosition="Before"change={this.onSwitchChangeEscape}><span>keepOpenOnEscape</span></IgrSwitch><IgrSwitchlabelPosition="Before"change={this.onSwitchChangeClick}><span>closeOnOutsideClick</span></IgrSwitch><IgrButtonvariant="contained"clicked={this.onDialogShow}><span>Show Dialog</span></IgrButton><IgrDialogtitle="Confirmation"ref={this.onDialogRef}><p>Are you sure you want to delete the Annual_Report_2016.pdf and Annual_Report_2017.pdf files?</p><divslot="footer"><IgrButtonclicked={this.onDialogHide}variant="flat"><span>Cancel</span></IgrButton><IgrButtonclicked={this.onDialogHide}variant="flat"><span>OK</span></IgrButton></div></IgrDialog></div>
);
}
public onDialogRef(dialog: IgrDialog){
if (!dialog) { return; }
this.dialogRef = dialog;
}
public onDialogShow() {
if(this.dialogRef){
this.dialogRef.show();
}
}
public onDialogHide() {
if(this.dialogRef){
this.dialogRef.hide();
}
}
public onSwitchChangeEscape(e: any) {
this.dialogRef.keepOpenOnEscape = e.checked;
}
public onSwitchChangeClick(e: any) {
this.dialogRef.closeOnOutsideClick = e.checked;
}
}
// rendering above class to the React DOMconstroot = ReactDOM.createRoot(document.getElementById('root'));
root.render(<DialogClosingVariations/>);
tsx
/* shared styles are loaded from: *//* https://static.infragistics.com/xplatform/css/samples */css
Form
Los elementos del formulario pueden cerrar un cuadro de diálogo si tienen el atributo method="dialog". Al enviar el formulario se cerrará el cuadro de diálogo.