typescript - Cara mengirim variabel ke fungsi MUI styled di ReactJS
Bagaimana saya bisa meneruskan variabel untuk mengubah properti gaya secara kondisional saat menggunakan fungsi styled MUI? Saya ingin mencapai ini: borderColor: darkMode ? 'white' : 'black'
const StyledSelect = styled(Select)(() => ({
"& fieldset": {
borderColor: 'dark',
}
}));
function BasicSelect() {
const { darkMode }= useSelector((state: {options: {darkMode: boolean}})=>state.options)
const [age, setAge] = React.useState('');
const handleChange = (event: SelectChangeEvent) => {
setAge(event.target.value as string);
};
return (
<FormControl fullWidth>
<InputLabel id="demo-simple-select-label">Age</InputLabel>
<StyledSelect
labelId="demo-simple-select-label"
id="demo-simple-select"
value={age}
label="Age"
onChange={handleChange}
>
<MenuItem value={10}>Ten</MenuItem>
<MenuItem value={20}>Twenty</MenuItem>
<MenuItem value={30}>Thirty</MenuItem>
</Select>
</FormControl>
);
}
Salah satu opsi yang berhasil adalah membuat fungsi dan mengopernya ke properti sx seperti ini, tetapi saya bertanya-tanya apakah memungkinkan untuk mengoper variabel langsung ke fungsi styled
const selectstyles = (darkMode) => ({
"& fieldset": {
borderColor: darkMode ? 'white' : 'black'
}
})
<StyledSelect sx={selectStyles(darkMode)} ...></StyledSelect>
Jawaban #1
Pertanyaan yang sama diajukan di sini: https://stackoverflow.com/a/69341672/8972840 Ini akan membantu Anda meneruskan props melalui fungsi styled().