Adicionar um className em SelectDisplayProps
na verdade substitui seus classNames existentes
eu tenho um componente. Quando eu quero dar um className para o div que exibe o valor selecionado do Select, em vez de adicionar o className aos outros como todo componente material da interface do usuário, ele os substitui.
Eu tenho um componente <Select />
, quando adiciono className
em SelectDisplayProps
, ele overirdes os classNames existentes do componente que exibem o valor selecionado no .
Ele não deve substituir os classNames existentes, mas ser adicionado a eles.
Aqui você pode encontrar uma sandbox para ver o bug: https://codesandbox.io/s/material-ui-issue-forked-oi0vd
Passos:
SelectDisplayProps
:SelectDisplayProps={{
className: classes.selectDisplay
}}
SelectDisplayProps
para indefinido, como se você não especificasse um.SelectDisplayProps
, há a classe material da IU padrão. Mas quando SelectDisplayProps
é especificado, o className desapareceDesejo substituir o estilo do elemento que exibe o valor selecionado. O problema existe mesmo se eu mudar totalmente o estilo que estou tentando dar, então não acho que esteja relacionado.
| Tech | Versão |
| ----------- | ------- |
| Material-UI | v4.11.0 |
| React | 16.13.1 |
| Navegador | Chrome - Versão 86.0.4240.75 (versão oficial) (64 bits) |
| TypeScript | 3.9.5 |
@Newpoki Obrigado pelo relatório, posso confirmar o problema. O que você acha dessa correção?
diff --git a/packages/material-ui/src/Select/SelectInput.js b/packages/material-ui/src/Select/SelectInput.js
index eb58ecd1b3..2098d0f3b8 100644
--- a/packages/material-ui/src/Select/SelectInput.js
+++ b/packages/material-ui/src/Select/SelectInput.js
@@ -353,16 +353,6 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) {
return (
<React.Fragment>
<div
- className={clsx(
- classes.root, // TODO v5: merge root and select
- classes.select,
- classes.selectMenu,
- classes[variant],
- {
- [classes.disabled]: disabled,
- },
- className,
- )}
ref={setDisplayNode}
tabIndex={tabIndex}
role="button"
@@ -376,6 +366,17 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) {
onBlur={handleBlur}
onFocus={onFocus}
{...SelectDisplayProps}
+ className={clsx(
+ classes.root, // TODO v5: merge root and select
+ classes.select,
+ classes.selectMenu,
+ classes[variant],
+ {
+ [classes.disabled]: disabled,
+ },
+ className,
+ SelectDisplayProps.className
+ )}
// The id is required for proper a11y
id={buttonId}
>
Você quer trabalhar em uma solicitação pull? :)
Eu gostaria de tentar. Você pode atribuir isso a mim?
Olá,
Desculpe pelo atraso na resposta, eu estava no meu trabalho: sweat_smile:
Ainda bem que foi um problema real e não da minha mente, e que vai ser consertado: D
Obrigado @reedanders pelo PR.