React Suite Cascader padre seleccionable

React Suite es una biblioteca front-end diseñada para la plataforma intermedia y los productos back-end. El componente React Suite Cascader se utiliza como una única selección de datos con una estructura de relación jerárquica.

La propiedad parentSelectable toma un valor booleano. Define si podemos seleccionar el Node principal o no.

Sintaxis:

<Cascader parentSelectable={} />

Requisito previo:

Creación de la aplicación React y la instalación del módulo:

Paso 1: cree la carpeta del proyecto de reacción, para eso abra la terminal y escriba el comando npm create-react-app folder name, si ya instaló create-react-app globalmente. Si no lo ha hecho, instale create-react-app globalmente usando el comando npm -g create-react-app o instálelo localmente con npm i create-react-app .

npm create-react-app project

Paso 2: después de crear la carpeta de su proyecto (es decir, proyecto), muévase a ella usando el siguiente comando.

cd project

Paso 3: Ahora instala la dependencia usando el siguiente comando:

npm install rsuite

Estructura del proyecto: Se verá así:

 

Ejemplo 1: estamos importando el componente Cascader desde «rsuite» y para aplicar los estilos predeterminados de los componentes estamos importando «rsuite/dist/rsuite.min.css».

Estamos agregando dos componentes de Cascader. Estamos pasando una lista llamada data que contiene los nombres de los países a la propiedad de datos del componente y algunos estilos en línea, el primero lo mantuvimos tal como está y al siguiente le estamos pasando el valor de la propiedad parentSelectable como verdadero.

App.js

import { Cascader } from "rsuite";
import "rsuite/dist/rsuite.min.css";
  
function App() {
    const countries = [
        {
            label: "India",
            value: "India",
            children: [
                {
                    label: "Haryana",
                    value: "Haryana",
                },
                {
                    label: "Assam",
                    value: "Assam",
                },
                {
                    label: "West Bengal",
                    value: "West Bengal",
                },
                {
                    label: "Nagaland",
                    value: "Nagaland",
                },
            ],
        },
        {
            label: "Germany",
            value: "Germany",
        },
        {
            label: "Sri Lanka",
            value: "Sri Lanka",
        },
    ];
  
    return (
        <div className="App">
            <h4> React Suite Cascader parentSelectable</h4>
            <p>
                <b style={{ marginLeft: 30 }}> 
                    default</b>
                <b style={{ marginLeft: 80 }}> 
                    parentSelectable= true</b>
            </p>
            <Cascader data={countries} style={{ 
                marginLeft: 30, marginTop: 10 }} />
  
            <Cascader
                data={countries}
                style={{ marginLeft: 80, marginTop: 10 }}
                parentSelectable={true}
            />
        </div>
    );
}
  
export default App;

Paso para ejecutar la aplicación: ejecute la aplicación con el siguiente comando desde el directorio raíz del proyecto.

npm start

Producción

 

Ejemplo 2: estamos agregando la propiedad de datos al componente Cascader como países, que es una lista de nombres de países. Estamos agregando el componente de selección usando el gancho useRef , lo llamamos cascada y lo pasaremos a la referencia de la propiedad componente. Además, agregamos un botón con una etiqueta como el selectBool definido por el estado creado usando el gancho de reacción useState , agregamos una función onClick que llamará a la función onHandleChange que cambiará el estado actual de selectBool y cascade.current.open() mantendrá el componente abierto.

App.js

import { useState, useRef } from "react";
import { Cascader } from "rsuite";
import "rsuite/dist/rsuite.min.css";
  
function App() {
    const cascade = useRef();
    const [selectBool, setSelectBool] = useState(false);
  
    const onHandleChange = () => {
        setSelectBool(!selectBool);
        cascade.current.open();
    };
    const countries = [
        {
            label: "India",
            value: "India",
            children: [
                {
                    label: "Haryana",
                    value: "Haryana",
                },
                {
                    label: "Assam",
                    value: "Assam",
                    children: [
                        {
                            label: "Darrang",
                            value: "Darrang",
                        },
                        {
                            label: "Dhemaji",
                            value: "Dhemaji",
                        },
                    ],
                },
                {
                    label: "West Bengal",
                    value: "West Bengal",
                    children: [
                        {
                            label: "Hooghly",
                            value: "Hooghly",
                        },
                        {
                            label: "Darjeeling",
                            value: "Darjeeling",
                        },
                    ],
                },
                {
                    label: "Nagaland",
                    value: "Nagaland",
                },
            ],
        },
        {
            label: "Germany",
            value: "Germany",
        },
        {
            label: "Sri Lanka",
            value: "Sri Lanka",
        },
    ];
  
    return (
        <div className="App">
            <h4> React Suite Cascader parentSelectable</h4>
            <p>
                <b style={{ marginLeft: 30 }}> 
                    parentSelectable ?</b>
                <button
                    onClick={onHandleChange}
                    style={{ marginLeft: 10, fontSize: 15, 
                             padding: 10 }}
                >
                    {"" + selectBool}
                </button>
            </p>
  
            <Cascader
                data={countries}
                style={{ marginLeft: 80, marginTop: 10 }}
                parentSelectable={selectBool}
                ref={cascade}
            />
        </div>
    );
}
  
export default App;

Paso para ejecutar la aplicación: ejecute la aplicación con el siguiente comando desde el directorio raíz del proyecto.

npm start

Producción:

 

Referencia: https://rsuitejs.com/components/cascader/#parent-selectable

Publicación traducida automáticamente

Artículo escrito por aniluom y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *