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

322
Views
React MUI: personalización del componente Autocompletar por rederInput

Tengo un componente React MUI Autocompletar como el del documento oficial.

El siguiente es el ejemplo para los países.

 import * as React from 'react'; import Box from '@mui/material/Box'; import TextField from '@mui/material/TextField'; import Autocomplete from '@mui/material/Autocomplete'; export default function CountrySelect() { return ( <Autocomplete id="country-select-demo" sx={{ width: 300 }} options={countries} autoHighlight getOptionLabel={(option) => option.label} renderOption={(props, option) => ( <Box component="li" sx={{ '& > img': { mr: 2, flexShrink: 0 } }} {...props}> <img loading="lazy" width="20" src={`https://flagcdn.com/w20/${option.code.toLowerCase()}.png`} srcSet={`https://flagcdn.com/w40/${option.code.toLowerCase()}.png 2x`} alt="" /> {option.label} ({option.code}) +{option.phone} </Box> )} renderInput={(params) => ( <TextField {...params} label="Choose a country" inputProps={{ ...params.inputProps, autoComplete: 'new-password', // disable autocomplete and autofill }} /> )} /> ); } // From https://bitbucket.org/atlassian/atlaskit-mk-2/raw/4ad0e56649c3e6c973e226b7efaeb28cb240ccb0/packages/core/select/src/data/countries.js const countries = [ { code: 'AD', label: 'Andorra', phone: '376' }, .......... .......... { code: 'AE', label: 'United Arab Emirates', phone: '971', }, ];

Editar paísSeleccionar demostración de material

Durante la selección, el componente muestra una lista de países junto con alguna información y el icono de la bandera correspondiente.

Después de elegir un país, el nombre del país se muestra en el campo de texto.

Por lo que entendí de esta publicación , es posible manipular la propiedad renderInput para personalizar la apariencia final del componente, en este ejemplo, TextField.

¿Hay alguna forma de mostrar también la bandera cerca del nombre del país seleccionado?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Para mostrar el ícono de una opción seleccionada, debe agregar start startAdornment a InputProps del componente TextField . Este accesorio es responsable de representar el ícono antes del texto de la opción seleccionada. Luego podemos pasar la propiedad de una opción seleccionada a startAdornment para mostrar el icono de la opción seleccionada:

 <Autocomplete value={value} onChange={(event, newValue) => { setValue(newValue); }} renderInput={(params) => { return ( <TextField {...params} label="Choose a country" inputProps={{ ...params.inputProps, autoComplete: "new-password" }} InputProps={{ ...params.InputProps, startAdornment: value ? ( <InputAdornment position="start"> <img loading="lazy" width="20" src={`https://flagcdn.com/w20/${value.code.toLowerCase()}.png`} srcSet={`https://flagcdn.com/w40/${value.code.toLowerCase()}.png 2x`} alt="" /> </InputAdornment> ) : null }} /> ); }} ... other props

Manifestación

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!