How to highlight text of mui autocomplete in react js?
January 09, 2023Hi Friends 👋,
Welcome To aGuideHub!
To highlight text of mui autocompletes in React js, you can use the render
option with custom highlight logic
. It will highlight the text of mui autocomplete in react js.
Today, I am going to show you, how to highlight text of mui autocomplete in react js.
Installation
Install the following packages to use highlight text of mui autocomplete in react js.
npm
npm install @mui/material @emotion/react @emotion/styled
yarn
yarn add @mui/material @emotion/react @emotion/styled
MUI material highlight text of mui autocomplete example.
The below code is an example of a Material UI autocomplete highlight text. You have to import @mui material
autocomplete and render
option with custom highlight logic
. It will highlight the text of mui autocomplete in react js.
App.js
import * as React from 'react';
import TextField from '@mui/material/TextField';
import Autocomplete from '@mui/material/Autocomplete';
import parse from 'autosuggest-highlight/parse';
import match from 'autosuggest-highlight/match';
export default function Highlights() {
return (
<Autocomplete
id="highlights-demo"
sx={{ width: 300 }}
options={top100Films}
getOptionLabel={(option) => option.title}
renderInput={(params) => (
<TextField {...params} label="Highlights" margin="normal" />
)}
renderOption={(props, option, { inputValue }) => {
const matches = match(option.title, inputValue, { insideWords: true });
const parts = parse(option.title, matches);
return (
<li {...props}>
<div>
{parts.map((part, index) => (
<span
key={index}
style={{
fontWeight: part.highlight ? 700 : 400,
}}
>
{part.text}
</span>
))}
</div>
</li>
);
}}
/>
);
}
// Top 100 films as rated by IMDb users. http://www.imdb.com/chart/top
const top100Films = [
{ 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 },
{ title: 'Pulp Fiction', year: 1994 },
{
title: 'The Lord of the Rings: The Return of the King',
year: 2003,
},
{ title: 'The Good, the Bad and the Ugly', year: 1966 },
{ title: 'Fight Club', year: 1999 },
{
title: 'The Lord of the Rings: The Fellowship of the Ring',
year: 2001,
},
];
In the above code example, I have used the @mui/material
component and highlight text of mui autocomplete in react js.
Check the output of the above code example.
All the best 👍