React Formik Material UI Autocomplete: cómo establecer el valor de Autocomplete de Material UI programáticamente utilizando Formik
Tengo dos opciones de selección, la primera es para una película y la segunda es para el año de estreno de la respectiva película. Una vez que seleccione una película de la primera Autocompletar, necesito configurar el valor de la segunda Autocompletar para el año de estreno de la película seleccionada en el primer cuadro de selección.
Aquí está el enlace de codesandbox para el código funcionando:
davy.ai
Para lograr esta funcionalidad, puedes usar el evento
onChange
del primer componente de Autocompletar para establecer el valor del segundo componente de Autocompletar. Aquí te explicamos cómo hacerlo:onChange
para actualizar la variable de estado.options
para filtrar los años de lanzamiento según la película seleccionada.Aquí, estamos usando la variable de estado
selectedMovie
para filtrar la matrizmovieData
y obtener una matriz de años de lanzamiento para la película seleccionada. Luego, pasamos esta matriz como propiedadoptions
para el segundo componente de Autocompletar.Con estos cambios, el valor del segundo componente de Autocompletar se actualizará automáticamente según la película seleccionada en el primer componente de Autocompletar.
Aquí tienes el código completo como referencia:
“`jsx
import React, { useState } from “react”;
import TextField from “@material-ui/core/TextField”;
import Autocomplete from “@material-ui/lab/Autocomplete”;
const movieData = [
{ title: “The Shawshank Redemption”, year: 1994 },
{ title: “The Godfather”, year: 1972 },
{ title: “The Godfather: Part II”, year: 1974 },
{ title: “The Dark Knight”, year: 2008 },
{ title: “12 Angry Men”, year: 1957 },
{ title: “Schindler’s List”, year: 1993 },
];
export default function MovieForm() {
const [selectedMovie, setSelectedMovie] = useState(null);
return (
onChange={(event, value) => setSelectedMovie(value)}
renderInput={(params) => (
)}
/>
: []
}
renderInput={(params) => (
)}
/>
);
}
“`