React Select
O componente Ignite UI for React Selecionar permite uma única seleção de uma lista de itens, colocada em uma lista suspensa. Esse controle de formulário oferece uma navegação rápida na lista de itens, incluindo seleção, com base em uma correspondência de um ou vários caracteres.
React Select Example
Usage
Primeiro, você precisa instalar o pacote npm Ignite UI for React correspondente executando o seguinte comando:
npm install igniteui-react
Em seguida, você precisará importar o IgrSelect e o e seu IgrSelectItem CSS necessário, assim:
import { IgrSelect, IgrSelectItem } from 'igniteui-react';
import 'igniteui-webcomponents/themes/light/bootstrap.css';
[!Note] Please note that the select header and group components are not mandatory unless you want to use them.
Para começar a usar o componente, adicione o IgrSelect junto com uma lista de IgrSelectItem opções para escolher:
<IgrSelect>
<IgrSelectItem value="Orange"><span>Orange</span></IgrSelectItem>
<IgrSelectItem value="Apple"><span>Apple</span></IgrSelectItem>
<IgrSelectItem value="Banana"><span>Banana</span></IgrSelectItem>
<IgrSelectItem value="Mango"><span>Mango</span></IgrSelectItem>
</IgrSelect>
Selecionar
O IgrSelect componente pode ser usado dentro de um Form componente, portanto, ele expõe uma name propriedade a ser registrada. Ele também tem propriedades e label placeholder. A outlined propriedade é usada para fins de estilo apenas quando se trata do tema Material. Exceto pelo slot padrão, o componente fornece alguns outros slots, incluindo header, footer, helper-text, prefix,, suffix e toggle-icon. O tamanho do componente pode ser alterado usando a--ig-size variável CSS.
Item
O IgrSelectItem componente permite que os usuários especifiquem declarativamente uma lista de opções a serem usadas pelo IgrSelect controle. Cada item fornece uma value propriedade que representa os dados que ele carrega na seleção. O IgrSelectItem tem um slot padrão que permite especificar o conteúdo de texto do item. Este conteúdo de texto será usado como valor caso a value propriedade não esteja presente no IgrSelectItem. Você também pode fornecer conteúdo personalizado a ser renderizado antes ou depois do IgrSelectItem conteúdo usando os prefix slots and suffix. Você pode predefinir um item selecionado definindo a Selected propriedade. Você também pode desativar alguns ou todos os itens por meio da disabled propriedade.
Header
Você pode usar o IgrSelectHeader para fornecer um cabeçalho para um grupo de itens.
<IgrSelect>
<IgrSelectHeader>
<span>Tasks</span>
</IgrSelectHeader>
</IgrSelect>
Group
Vários IgrSelectItem s podem ser colocados entre os colchetes de abertura e fechamento de um IgrSelectGroup componente para que os usuários possam agrupá-los visualmente. O IgrSelectGroup pode ser rotulado por meio de seu label slot e desativado por meio de sua disabled propriedade.
[!Note] Keep in mind that if a select group is disabled, you cannot enable separate items of it.
<IgrSelect>
<IgrSelectGroup>
<span slot="label">Europe</span>
<IgrSelectItem>
<span slot="prefix">
<IgrIcon name="place" collection="material"></IgrIcon>
</span>
<span> Germany </span>
<span slot="suffix">DE</span>
</IgrSelectItem>
<IgrSelectItem>
<span slot="prefix">
<IgrIcon name="place" collection="material"></IgrIcon>
</span>
<span> France </span>
<span slot="suffix">FR</span>
</IgrSelectItem>
<IgrSelectItem>
<span slot="prefix">
<IgrIcon name="place" collection="material"></IgrIcon>
</span>
<span> Spain </span>
<span slot="suffix">ES</span>
</IgrSelectItem>
</IgrSelectGroup>
</IgrSelect>
Validation
Além disso, o suporta a IgrSelect IgrInput maioria das propriedades, como required, disabled, autofocus, etc. O componente também expõe um método vinculado à sua validação:
reportValidity- verifica a validade e foca o componente se for inválido.
Keyboard Navigation
Quando a seleção está focada e a lista de opções não está visível:
- Abra a
selectcombinação usando o ALT + ↑ ↓ ou clicando na SPACE tecla ou na ENTER chave. - Feche a
selectcombinação usando a ALT combinação + ↑ or ↓ ou qualquer uma das teclas , ENTER SPACE, ESC orIgrTab. - Usar as teclas ← → selecionará o item anterior na lista.
- Usar as teclas ↑ ↓ selecionará o próximo item na lista.
- Usando as HOME teclas ou END selecionará o primeiro ou o último item da lista.
- Digitar caracteres consultará a lista de itens e selecionará aquele que mais se aproxima da entrada atual do usuário.
Quando a seleção está focada e a lista de opções está visível:
- Usando as ENTER teclas ou SPACE selecionará um item e fechará a lista.
- Usar as teclas ← → ativará o item anterior na lista.
- Usar as teclas ↑ ↓ ativará o próximo item na lista.
- Usar as HOME teclas ou END ativará o primeiro ou o último item da lista.
[!Note] The
IgrSelectcomponent supports only single selection of items.
Styling
Você pode alterar a aparência do componente Ignite UI for React IgrSelect e seus itens usando as partes CSS expostas listadas abaixo:
Selecionar componente
| Nome da peça | Descrição |
|---|---|
input |
A entrada igc encapsulada. |
label |
O rótulo de texto encapsulado. |
list |
Um wrapper que contém a lista de opções. |
prefix |
Um wrapper de prefixo que renderiza o conteúdo antes da entrada. |
suffix |
Um wrapper de sufixo que renderiza o conteúdo após a entrada. |
toggle-icon |
Um wrapper de ícone de alternância que renderiza o conteúdo dentro do wrapper de sufixo. |
helper-text |
Um wrapper de texto auxiliar que renderiza o conteúdo abaixo da entrada. |
Selecionar componente do item
| Nome da peça | Descrição |
|---|---|
content |
O wrapper principal que contém o conteúdo de texto de um item. |
prefix |
Um wrapper de prefixo que renderiza o conteúdo antes do wrapper principal. |
suffix |
Um wrapper de sufixo que renderiza o conteúdo após o wrapper principal. |
Selecionar componente do grupo
| Nome da peça | Descrição |
|---|---|
label |
Um wrapper de rótulo que renderiza o conteúdo acima dos itens do grupo selecionado. |
igc-select::part(base) {
background: var(--ig-primary-50);
}
igc-select-item[active] {
background: var(--ig-secondary-300);
}
igc-select::part(input) {
background-color: var(--ig-primary-50);
}
igc-select::part(prefix),
igc-select::part(suffix) {
color: var(--ig-secondary-500-contrast);
background: var(--ig-secondary-500);
}