ButtonBotón
El componente Botón se usa para ejecutar acciones, como enviar un correo, compartir un documento o marcar un comentario con un me gusta.
Uso
Importa el componente cuando lo necesites:
import 'mdui/components/button.js';
Importa el tipo TypeScript cuando lo necesites:
import type { Button } from 'mdui/components/button.js';
Uso:
<mdui-button>Botón</mdui-button>Ancho completo
El atributo full-width hace que el botón ocupe todo el ancho del elemento padre.
Icono
Los atributos icon y end-icon permiten añadir iconos de Material Icons a la izquierda y derecha del botón respectivamente. También puedes añadir elementos a la izquierda y derecha del botón mediante los slots icon y end-icon.
Enlace
Con el atributo href, el botón actúa como enlace; también puedes usar download, target y rel.
Estados deshabilitado y de carga
El atributo disabled deshabilita el botón; añade el atributo loading para añadir un estado de carga al botón.
API
Propiedades
| Atributo | Propiedad | Reflect | Tipo | Predeterminado |
|---|---|---|---|---|
variant | variant | 'elevated' | 'filled' | 'tonal' | 'outlined' | 'text' | 'filled' | |
Variante del botón. Los valores posibles son:
| ||||
full-width | fullWidth | boolean | false | |
Indica si debe ocupar todo el ancho del elemento padre. | ||||
icon | icon | string | - | |
Nombre del icono de Material Icons a la izquierda. También se puede establecer mediante | ||||
end-icon | endIcon | string | - | |
Nombre del icono de Material Icons a la derecha. También se puede establecer mediante | ||||
href | href | string | - | |
URL de destino del enlace. Si se define esta propiedad, el componente se representará como un elemento | ||||
download | download | string | - | |
Nombre del archivo para el enlace de descarga. Nota: Esta propiedad solo tiene efecto si se ha definido la propiedad | ||||
target | target | '_blank' | '_parent' | '_self' | '_top' | - | |
Especifica dónde abrir el enlace. Los valores posibles son:
Nota: Esta propiedad solo tiene efecto si se ha definido la propiedad | ||||
rel | rel | 'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'me' | 'next' | 'nofollow' | 'noreferrer' | 'opener' | 'prev' | 'search' | 'tag' | - | |
Relación entre el documento actual y el documento enlazado. Los valores posibles son:
Nota: Disponible solo cuando se especifica el atributo | ||||
autofocus | autofocus | boolean | false | |
Indica si el componente debe recibir el foco automáticamente cuando la página termine de cargar. | ||||
tabindex | tabIndex | number | - | |
Orden del elemento al navegar con la tecla Tab. | ||||
disabled | disabled | boolean | false | |
Indica si está deshabilitado. | ||||
loading | loading | boolean | false | |
Indica si está en estado de carga. | ||||
name | name | string | '' | |
Nombre del botón que se enviará con los datos del formulario. Nota: Esta propiedad solo tiene efecto si no se ha definido la propiedad | ||||
value | value | string | '' | |
Valor inicial del botón que se enviará con los datos del formulario. Nota: Esta propiedad solo tiene efecto si no se ha definido la propiedad | ||||
type | type | 'submit' | 'reset' | 'button' | 'button' | |
Tipo del botón. El tipo predeterminado es
Nota: Esta propiedad solo tiene efecto si no se ha especificado la propiedad | ||||
form | form | string | - | |
Elemento Si no se especifica esta propiedad, el elemento debe ser hijo de un elemento Nota: Esta propiedad solo tiene efecto si no se ha especificado la propiedad | ||||
formaction | formAction | string | - | |
Especifica la URL a la que se enviará el formulario. Si se especifica esta propiedad, anulará el atributo Nota: Esta propiedad solo tiene efecto si no se ha especificado la propiedad | ||||
formenctype | formEnctype | 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain' | - | |
Especifica el tipo de contenido al enviar el formulario al servidor. Los valores posibles son:
Si se especifica esta propiedad, anulará el atributo Nota: Esta propiedad solo tiene efecto si no se ha especificado la propiedad | ||||
formmethod | formMethod | 'post' | 'get' | - | |
Especifica el método HTTP utilizado al enviar el formulario. Los valores posibles son:
Si se define esta propiedad, anulará el atributo Nota: Esta propiedad solo tiene efecto si no se ha definido la propiedad | ||||
formnovalidate | formNoValidate | boolean | false | |
Si se define esta propiedad, no se realizará la validación del formulario al enviarlo. Si se define esta propiedad, anulará el atributo Nota: Esta propiedad solo tiene efecto si no se ha definido la propiedad | ||||
formtarget | formTarget | '_self' | '_blank' | '_parent' | '_top' | - | |
Dónde mostrar la respuesta recibida después de enviar el formulario. Los valores posibles son:
Si se define esta propiedad, anulará el atributo Nota: Esta propiedad solo tiene efecto si no se ha definido la propiedad | ||||
validity | ValidityState | - | ||
Objeto de estado de validación del formulario, véase | ||||
validationMessage | string | - | ||
Si falla la validación del formulario, esta propiedad contendrá un mensaje informativo. Si la validación es correcta, esta propiedad será una cadena vacía. | ||||
Métodos
| Nombre | Parámetros | Valor de retorno |
|---|---|---|
click | void | |
Simula un clic del ratón en el elemento. | ||
focus |
| void |
Establece el foco en el elemento actual. Puede pasarse un objeto como parámetro con las siguientes propiedades:
| ||
blur | void | |
Quita el foco del elemento actual. | ||
checkValidity | boolean | |
Comprueba si el campo del formulario pasa la validación. Si falla, devuelve | ||
reportValidity | boolean | |
Comprueba si el campo del formulario pasa la validación. Si falla, devuelve Si la validación falla, también muestra un mensaje de error en el componente. | ||
setCustomValidity |
| void |
Establece un mensaje de error personalizado. Si este mensaje no está vacío, indica que el campo no ha pasado la validación. | ||
Slots
| Nombre |
|---|
| (predeterminado) |
Texto del botón. |
icon |
Elemento a la izquierda del botón. |
end-icon |
Elemento a la derecha del botón. |
CSS Custom Properties
| Nombre |
|---|
--shape-corner |
Tamaño de la esquina redondeada del componente. Se puede especificar un valor de píxel concreto; pero se recomienda hacer referencia a design tokens. |