Я использую библиотеку React Material-UI
и хочу условно переопределить цвет ошибки TextField.
Мне нужно изменить helperText, border, text и требуемый цвет маркера на желтый, когда ошибка имеет определенный тип. Примерно так:
В противном случае я хочу сохранить цвет по умолчанию (красный) для всех остальных типов ошибок. Я пытался следовать тому же принципу, который использовался в codesandbox , но я не мог охватить все компоненты, которые мне нужно было изменить, и мне приходилось использовать ключевое слово important
почти каждый раз, чтобы увидеть Разница.
Мне удалось условно изменить цвет helperText
следующим образом:
<TextField
label="Name"
className={formClasses.textField}
margin="normal"
variant="outlined"
required
error={!!errors}
helperText={errors && "Incorrect entry."}
FormHelperTextProps={{classes: {root: getColorType(AnErrorType)}}}
/>
getColorType
вернет объект CSS со свойством цвета, установленным в тот, который соответствует данному типу ошибки. Например:
hardRequiredHintText: {
color: `${theme.palette.warning.light} !important`
},
Есть ли более простой способ переопределить цвет ошибки MUI и увидеть его во всех компонентах, которые его используют?