Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

160
Views
Cómo dejar de mostrar la casilla de verificación en la entrada de Material UI TextField con el atributo de selección cuando tenemos elementos de menú con casillas de verificación

He agregado casillas de verificación a MenuItems en TextField de tipo Select . Cuando selecciono uno de los Elementos de menú, la casilla de verificación también se muestra en la entrada de TextField.

Req: necesito dejar de mostrar la casilla de verificación en la entrada de TextField. Necesito usar estrictamente el TextField con el atributo Selcet.

¿Puede alguien por favor ayudarme con esto? Gracias.

ingrese la descripción de la imagen aquí

enlace de la caja de arena: https://codesandbox.io/s/basicselect-material-demo-forked-06gns?file=/demo.js

código:

 import * as React from "react"; import MenuItem from "@mui/material/MenuItem"; import FormControl from "@mui/material/FormControl"; import ListItemText from "@mui/material/ListItemText"; import Checkbox from "@mui/material/Checkbox"; import TextField from "@mui/material/TextField"; const ITEM_HEIGHT = 48; const ITEM_PADDING_TOP = 8; const MenuProps = { PaperProps: { style: { maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP, width: 250 } } }; const names = ["Oliver Hansen", "Van Henry"]; export default function MultipleSelectCheckmarks() { const [personName, setPersonName] = React.useState([]); const handleChange = (event) => { const { target: { value } } = event; setPersonName( // On autofill we get a the stringified value. typeof value === "string" ? value.split(",") : value ); }; return ( <div> <FormControl sx={{ m: 1, width: 300 }}> <TextField // multiple select value={personName} onChange={handleChange} renderValue={(selected) => selected.join(", ")} MenuProps={MenuProps} > {names.map((name) => ( <MenuItem key={name} value={name}> <Checkbox checked={personName.indexOf(name) > -1} /> <ListItemText primary={name} /> </MenuItem> ))} </TextField> </FormControl> </div> ); }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Lo probé y cambié un poco de código, onchange y renderValue deberían ser accesorios en select, no en textfield, por lo que no estaba funcionando

 import * as React from "react"; import MenuItem from "@mui/material/MenuItem"; import FormControl from "@mui/material/FormControl"; import FormControlLabel from "@mui/material/FormControlLabel"; import Checkbox from "@mui/material/Checkbox"; import TextField from "@mui/material/TextField"; const ITEM_HEIGHT = 48; const ITEM_PADDING_TOP = 8; const names = ["Oliver Hansen", "Van Henry"]; export default function MultipleSelectCheckmarks() { const [personName, setPersonName] = React.useState([]); const handleChange = (event) => { if (!personName.includes(event.target.value)) setPersonName(event.target.value); // selected options }; return ( <div> <FormControl sx={{ m: 1, width: 300 }}> <TextField select SelectProps={{ multiple: true, value: personName, onChange: (e) => handleChange(e), renderValue: (selected) => selected.join(", "), style: { width: "250px", maxHeight: `${ITEM_HEIGHT} * 4.5 + ${ITEM_PADDING_TOP}` } }} > {names.map((name) => ( <MenuItem key={name} value={name}> <FormControlLabel control={<Checkbox checked={personName.includes(name)} />} label={name} /> </MenuItem> ))} </TextField> </FormControl> </div> ); }

Consulte la demostración de trabajo aquí: https://codesandbox.io/s/multi-select-with-textfield-uf100

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!