ButtonBotão
Os botões são usados para executar ações, como enviar e-mails, compartilhar documentos ou curtir comentários.
Como usar
Importe o componente quando necessário:
import 'mdui/components/button.js';
Importe o tipo TypeScript do componente quando necessário:
import type { Button } from 'mdui/components/button.js';
Exemplo de uso:
<mdui-button>Button</mdui-button>Largura total
Use o atributo full-width para fazer o botão ocupar toda a largura do elemento pai.
Ícone
Defina os atributos icon e end-icon para adicionar ícones do Material Icons à esquerda e à direita do botão, respectivamente. Você também pode adicionar elementos pelos slots icon e end-icon.
Link
Defina o atributo href para transformar o botão em um link. Assim, você também pode usar os atributos relacionados a links: download, target, rel.
Estado desabilitado e carregando
Use o atributo disabled para desabilitar o botão; adicione o atributo loading para adicionar um estado de carregamento ao botão.
API
Propriedades
| Atributo | Propriedade | Reflect | Tipo | Padrão |
|---|---|---|---|---|
variant | variant | 'elevated' | 'filled' | 'tonal' | 'outlined' | 'text' | 'filled' | |
Forma do botão. Os valores possíveis são:
| ||||
full-width | fullWidth | boolean | false | |
Define se o botão deve preencher a largura do elemento pai. | ||||
icon | icon | string | - | |
Nome do ícone Material Icons à esquerda. Também pode ser definido via | ||||
end-icon | endIcon | string | - | |
Nome do ícone Material Icons à direita. Também pode ser definido via | ||||
href | href | string | - | |
A URL de destino do link. Ao definir esta propriedade, o componente será renderizado internamente como um elemento | ||||
download | download | string | - | |
O nome do arquivo para download. Nota: Esta propriedade só é válida quando o atributo | ||||
target | target | '_blank' | '_parent' | '_self' | '_top' | - | |
Define como o link será aberto. Os valores possíveis são:
Nota: Esta propriedade só é válida quando o atributo | ||||
rel | rel | 'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'me' | 'next' | 'nofollow' | 'noreferrer' | 'opener' | 'prev' | 'search' | 'tag' | - | |
A relação entre o documento atual e o documento vinculado. Os valores possíveis são:
Nota: Disponível apenas quando o atributo | ||||
autofocus | autofocus | boolean | false | |
Define se o elemento deve receber foco automaticamente após o carregamento da página. | ||||
tabindex | tabIndex | number | - | |
A ordem do elemento ao navegar com a tecla Tab. | ||||
disabled | disabled | boolean | false | |
Define se o componente está desabilitado. | ||||
loading | loading | boolean | false | |
Define se o componente está em estado de carregamento. | ||||
name | name | string | '' | |
O nome do botão, que será enviado com os dados do formulário. Nota: Esta propriedade só é válida quando o atributo | ||||
value | value | string | '' | |
O valor inicial do botão, que será enviado com os dados do formulário. Nota: Esta propriedade só é válida quando o atributo | ||||
type | type | 'submit' | 'reset' | 'button' | 'button' | |
O tipo do botão. O tipo padrão é
Nota: Esta propriedade só é válida quando o atributo | ||||
form | form | string | - | |
O elemento Se este atributo não for especificado, o elemento precisa ser um elemento filho de um Nota: Esta propriedade só é válida quando o atributo | ||||
formaction | formAction | string | - | |
Especifica a URL para envio do formulário. Se este atributo for especificado, ele substituirá o atributo Nota: Esta propriedade só é válida quando o atributo | ||||
formenctype | formEnctype | 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain' | - | |
Especifica o tipo de conteúdo ao enviar o formulário para o servidor. Os valores possíveis são:
Se este atributo for especificado, ele substituirá o atributo Nota: Esta propriedade só é válida quando o atributo | ||||
formmethod | formMethod | 'post' | 'get' | - | |
Especifica o método HTTP a ser usado ao enviar o formulário. Os valores possíveis são:
Se este atributo for definido, ele substituirá o atributo Nota: Esta propriedade só é válida quando o atributo | ||||
formnovalidate | formNoValidate | boolean | false | |
Se este atributo for definido, a validação do formulário não será executada ao enviar. Se este atributo for definido, ele substituirá o atributo Nota: Esta propriedade só é válida quando o atributo | ||||
formtarget | formTarget | '_self' | '_blank' | '_parent' | '_top' | - | |
Onde exibir a resposta recebida após o envio do formulário. Os valores possíveis são:
Se este atributo for definido, ele substituirá o atributo Nota: Esta propriedade só é válida quando o atributo | ||||
validity | ValidityState | - | ||
Objeto que representa o estado de validação do formulário. Consulte | ||||
validationMessage | string | - | ||
Se a validação do formulário falhar, esta propriedade conterá uma mensagem de erro. Se a validação for bem-sucedida, esta propriedade será uma string vazia. | ||||
Métodos
| Nome | Parâmetros | Retorno |
|---|---|---|
click | void | |
Simula um clique do mouse no elemento. | ||
focus |
| void |
Define o foco no elemento atual. Você pode passar um objeto como argumento, com as seguintes propriedades:
| ||
blur | void | |
Remove o foco do elemento atual. | ||
checkValidity | boolean | |
Verifica se o campo do formulário passou na validação. Se não passou, retorna | ||
reportValidity | boolean | |
Verifica se o campo do formulário passou na validação. Se não passou, retorna Se a validação falhar, também exibe uma mensagem de erro no componente. | ||
setCustomValidity |
| void |
Define um texto de erro personalizado. Enquanto este texto não estiver vazio, indica que o campo não passou na validação. | ||
Propriedades CSS personalizadas
| Nome |
|---|
--shape-corner |
Tamanho da borda arredondada do componente. Pode ser um valor em pixels, mas é recomendado usar os design tokens. |