Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Muita gente não percebe, mas o comportamento padrão do dropdown do Fluent UI pode gerar confusão na UX.
Quando você abre o dropdown, a primeira opção costuma ser selecionada automaticamente, mesmo que o usuário ainda não tenha escolhido nada. A decisão fica mais saudável quando o time consegue medir o impacto depois.
Isso pode causar problemas em formulários ou filtros, onde a seleção automática não faz sentido.
---
Para resolver isso, minha dica é manipular o estado do selectedKey de forma que ele só seja definido após uma interação explícita. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
Você pode usar uma variável de controle que indique se o usuário realmente clicou ou não, para só então definir o selectedKey. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte.
Outra estratégia é usar a propriedade 'defaultSelectedKey' ao invés de 'selectedKey', para que o valor só seja inicializado uma vez. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
---
No seu código, tente algo assim:
const [isClicked, setIsClicked] = React.useState(false). const [selectedKey, setSelectedKey] = React.useState(null). <Dropdown
disabled={this.state.HideLocationFilter}
selectedKey={isClicked ? selectedKey : null}
onClick={() => setIsClicked(true)}
onChange={(e, option) => setSelectedKey(option.key)}
options={opcoes}
/>
Assim, a primeira opção só será selecionada após o clique, evitando seleção automática. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
---
Se a sua intenção é que o dropdown não selecione nada até o usuário escolher, essa abordagem ajuda bastante. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
Quem já passou por isso, tem alguma outra dica mais eficiente? Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
No meu time, a gente costuma deixar o dropdown com selectedKey null até o usuário fazer uma escolha, aí atualiza.
Boa, mano! Essa questão de seleção automática realmente pesa na experiência. Já passei por isso e a dica de controlar o state ajuda bastante. O que eu faço também é limpar o selected ao abrir o dropdown, pra cuidar para que nada esteja pré selecionado.
Concordo, Thiago. Aqui na minha equipe, às vezes é melhor usar defaultSelectedKey no início e tocar pra selected somente após uma interação.