Visão geral do botão React
The React Button Component lets you enable clickable elements that trigger actions in your React app. You get full control over how you set button variants, configure styles for the wrapped element, and define sizes. The Button Component also gives flexibility through the React Button clicked callback, toggle the React button, disable the React button, and more.
React Button Example
Usage
Primeiro, você precisa instalar o pacote npm Ignite UI for React correspondente executando o seguinte comando:
npm install igniteui-react
Você então precisará importar oIgrButton CSS necessário e o necessário, assim:
import { IgrButton } from 'igniteui-react';
import 'igniteui-webcomponents/themes/light/bootstrap.css';
<IgrButton />
Prefix / Suffix
Comprefix os slotssuffix e doIgrButton componente, podemos adicionar conteúdo diferente antes e depois do conteúdo principal do botão.
<IgrButton type="button" variant="contained">
<span slot="prefix">+</span>Click me<span slot="suffix">-</span>
</IgrButton>
Type
O componente botão mudará sua estrutura interna de a<button> para um<a> elemento tipo quando ohref atributo for definido. Nesse caso, o botão pode ser visto como um link comum. Definir ohref atributo permite que você também defina osrel atributostarget edownload e também. No caso em que o componente botão usa um elemento real<button> internamente, podemos especificar eledisplayType definindo a propriedade para qualquer um dos seguintes valores:
Submit- quando queremos enviar os dados do formulárioreset- quando queremos redefinir os dados do formulário para seus valores iniciaisbutton- quando queremos adicionar um botão com uma funcionalidade personalizada em qualquer lugar de uma página web
Button Variants
Contained Button
Use ovariant atributo para adicionar um botão simples de conteúdo no seu template de componente. Note que, se você não definir variante, por padrão ele será definido como contido.
<IgrButton variant="contained"><span>Contained</span></IgrButton>
Outlined Button
Tudo o que você precisa fazer para criar umoutlined botão é alterar o valor davariant propriedade:
<IgrButton variant="outlined"><span>Outlined</span></IgrButton>
Flat Button
Analogicamente, podemos mudar paraflat variante.
<IgrButton variant="flat"><span>Flat</span></IgrButton>
Floating Action Button
Podemos criar um botão de ação flutuante definindo avariant propriedade parafab:
<IgrButton variant="fab"><span>Fab</span></IgrButton>
Button Sizing
Os usuários podem alterar o tamanho doIgrButton usando a--ig-size variável CSS. No exemplo a seguir, vamos adicionar alguns botões de opção para exibir todos os valores de tamanho. Assim, sempre que um for selecionado, mudamos o tamanho do botão.
import { IgrButton, IgrRadio, IgrRadioGroup } from 'igniteui-react';
const [size, setSize] = useState("small");
const onRadioChange = (e: IgrRadioChangeEventArgs) => {
setSize(e.detail.value);
};
<IgrRadioGroup alignment="horizontal" style={{ display: "flex", margin: "0 auto", width: "15%" }}>
<IgrRadio name="size" value="small" labelPosition="after" checked={size === "small"} onChange={onRadioChange}>
<span>Small</span>
</IgrRadio>
<IgrRadio name="size" value="medium" labelPosition="after" onChange={onRadioChange}>
<span>Medium</span>
</IgrRadio>
<IgrRadio name="size" value="large" labelPosition="after" onChange={onRadioChange}>
<span>Large</span>
</IgrRadio>
</IgrRadioGroup>
<div className="button-container">
<IgrButton className={"size-" + size} variant="flat">
<span>Flat</span>
</IgrButton>
<IgrButton className={"size-" + size} variant="contained">
<span>Contained</span>
</IgrButton>
<IgrButton className={"size-" + size} variant="outlined">
<span>Outlined</span>
</IgrButton>
<IgrButton className={"size-" + size} variant="fab">
<span>Like</span>
</IgrButton>
</div>
O resultado da implementação do código acima deve ser semelhante ao seguinte:
Download
Definir adownload propriedade pedirá ao usuário que salve a URL vinculada em vez de navegar até ela.
<IgrButton
href=""
variant="contained"
download="url"
target="_blank" >
<span>Download</span>
</IgrButton>
Styling
EleIgrButton expõe três partes CSS que podemos usar para estilismo:
| Nome | Descrição |
|---|---|
base |
O elemento de botão nativo do componente igc-button. |
prefix |
O contêiner de prefixo do componente igc-button. |
suffix |
O contêiner de sufixo do componente igc-button. |
Abase parte CSS nos permite estilizar o elemento enrolado (<button>ou<a>).
igc-button::part(base) {
background-color: var(--ig-primary-500);
color: var(--ig-primary-500-contrast);
padding: 18px;
}