MDUIDocs
Copiar enlace llms.txtCopiar enlace llms-full.txtVer esta página en formato MarkdownDiscutir esta página con ChatGPTDiscutir la documentación completa del proyecto con ChatGPT
Color preestablecido
Color personalizado
Extraer color del fondo de pantalla
Selecciona una imagen de fondo
Primeros pasos
Desarrollo asistido por IA
Estilos
Integración con frameworks
Componentes
Avatar AvatarBadge BadgeBottomAppBar Bottom App BarButton BotónButtonIcon Botón de iconoCard TarjetaCheckbox CheckboxChip ChipCircularProgress Progreso circularCollapse CollapseDialog DiálogoDivider SeparadorDropdown DropdownFab Floating Action ButtonIcon IconoLayout LayoutLinearProgress Progreso linealList ListaMenu MenúNavigationBar Barra de navegaciónNavigationDrawer Navigation DrawerNavigationRail Navigation RailRadio RadioRangeSlider Range SliderSelect SelectSegmentedButton Botón segmentadoSlider SliderSnackbar SnackbarSwitch SwitchTabs TabTextField Campo de textoTooltip TooltipTopAppBar Top App Bar
Funciones
Paquetes independientes

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:

Botón
<mdui-button>Botón</mdui-button>

Ejemplos

Forma

El atributo variant define la forma del botón.

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.

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

AtributoPropiedadReflectTipoPredeterminado
variantvariant'elevated' | 'filled' | 'tonal' | 'outlined' | 'text''filled'

Variante del botón. Los valores posibles son:

  • elevated: Botón con sombra, adecuado para situaciones en las que se necesita separar visualmente el botón del fondo
  • filled: Efecto visual intenso, adecuado para acciones finales en procesos importantes, como "Guardar", "Confirmar", etc.
  • tonal: Efecto visual entre filled y outlined, adecuado para acciones de prioridad media-alta, como "Siguiente" en un flujo
  • outlined: Botón con borde, adecuado para acciones de prioridad media y secundarias, como "Volver"
  • text: Botón de texto, adecuado para acciones de prioridad más baja
full-widthfullWidthbooleanfalse

Indica si debe ocupar todo el ancho del elemento padre.

iconiconstring-

Nombre del icono de Material Icons a la izquierda. También se puede establecer mediante slot="icon".

end-iconendIconstring-

Nombre del icono de Material Icons a la derecha. También se puede establecer mediante slot="end-icon".

hrefhrefstring-

URL de destino del enlace.

Si se define esta propiedad, el componente se representará como un elemento <a> y podrá usar las propiedades de enlace.

downloaddownloadstring-

Nombre del archivo para el enlace de descarga.

Nota: Esta propiedad solo tiene efecto si se ha definido la propiedad href.

targettarget'_blank' | '_parent' | '_self' | '_top'-

Especifica dónde abrir el enlace. Los valores posibles son:

  • _blank: Abrir el enlace en una nueva ventana
  • _parent: Abrir el enlace en el marco principal
  • _self: Predeterminado. Abrir el enlace en el marco actual
  • _top: Abrir el enlace en la ventana completa

Nota: Esta propiedad solo tiene efecto si se ha definido la propiedad href.

relrel'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:

  • alternate: Versión alternativa del documento actual
  • author: Autor del documento o artículo actual
  • bookmark: Enlace permanente a la sección contenedora más cercana
  • external: El documento referenciado no está en el mismo sitio que el documento actual
  • help: Enlace a la documentación de ayuda relacionada
  • license: El contenido principal del documento actual está cubierto por la licencia de derechos de autor del documento referenciado
  • me: El documento actual representa al propietario del contenido enlazado
  • next: El documento actual es parte de una serie y el documento referenciado es el siguiente de la serie
  • nofollow: El autor o editor del documento actual no respalda el documento referenciado
  • noreferrer: No incluye el encabezado Referer. Similar al efecto de noopener
  • opener: Si el hipervínculo crea un contexto de navegación de nivel superior (es decir, el valor del atributo target es _blank), crea un contexto de navegación auxiliar
  • prev: El documento actual es parte de una serie y el documento referenciado es el anterior de la serie
  • search: Proporciona un enlace a un recurso que se puede utilizar para buscar el archivo actual y sus páginas relacionadas
  • tag: Proporciona una etiqueta adecuada para el documento actual (identificada por la dirección dada)

Nota: Disponible solo cuando se especifica el atributo href.

autofocusautofocusbooleanfalse

Indica si el componente debe recibir el foco automáticamente cuando la página termine de cargar.

tabindextabIndexnumber-

Orden del elemento al navegar con la tecla Tab.

disableddisabledbooleanfalse

Indica si está deshabilitado.

loadingloadingbooleanfalse

Indica si está en estado de carga.

namenamestring''

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 href.

valuevaluestring''

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 href.

typetype'submit' | 'reset' | 'button''button'

Tipo del botón. El tipo predeterminado es button. Los tipos posibles son:

  • submit: Al hacer clic en el botón, se enviarán los datos del formulario al servidor
  • reset: Al hacer clic en el botón, se restablecerán todos los campos del formulario a sus valores iniciales
  • button: Este tipo de botón no tiene comportamiento predeterminado

Nota: Esta propiedad solo tiene efecto si no se ha especificado la propiedad href.

formformstring-

Elemento <form> asociado. El valor de esta propiedad debe ser el id de un elemento <form> en la misma página.

Si no se especifica esta propiedad, el elemento debe ser hijo de un elemento <form>. Con esta propiedad, puedes colocar el elemento en cualquier lugar de la página, no solo como hijo de un elemento <form>.

Nota: Esta propiedad solo tiene efecto si no se ha especificado la propiedad href.

formactionformActionstring-

Especifica la URL a la que se enviará el formulario.

Si se especifica esta propiedad, anulará el atributo action del elemento <form>.

Nota: Esta propiedad solo tiene efecto si no se ha especificado la propiedad href y type="submit".

formenctypeformEnctype'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:

  • application/x-www-form-urlencoded: Valor predeterminado cuando no se especifica este atributo
  • multipart/form-data: Se usa cuando el formulario contiene un elemento <input type="file">
  • text/plain: Nuevo en HTML5, para depuración

Si se especifica esta propiedad, anulará el atributo enctype del elemento <form>.

Nota: Esta propiedad solo tiene efecto si no se ha especificado la propiedad href y type="submit".

formmethodformMethod'post' | 'get'-

Especifica el método HTTP utilizado al enviar el formulario. Los valores posibles son:

  • post: Los datos del formulario se incluyen en el cuerpo de la solicitud y se envían al servidor
  • get: Los datos del formulario se adjuntan al URI del formulario con ? como separador, y el URI generado se envía al servidor. Se utiliza este método cuando el formulario no tiene efectos secundarios y solo contiene caracteres ASCII

Si se define esta propiedad, anulará el atributo method del elemento <form>.

Nota: Esta propiedad solo tiene efecto si no se ha definido la propiedad href y type="submit".

formnovalidateformNoValidatebooleanfalse

Si se define esta propiedad, no se realizará la validación del formulario al enviarlo.

Si se define esta propiedad, anulará el atributo novalidate del elemento <form>.

Nota: Esta propiedad solo tiene efecto si no se ha definido la propiedad href y type="submit".

formtargetformTarget'_self' | '_blank' | '_parent' | '_top'-

Dónde mostrar la respuesta recibida después de enviar el formulario. Los valores posibles son:

  • _self: Opción predeterminada, abrir en el marco actual
  • _blank: Abrir en una nueva ventana
  • _parent: Abrir en el marco principal
  • _top: Abrir en la ventana completa

Si se define esta propiedad, anulará el atributo target del elemento <form>.

Nota: Esta propiedad solo tiene efecto si no se ha definido la propiedad href y type="submit".

validityValidityState-

Objeto de estado de validación del formulario, véase ValidityState.

validationMessagestring-

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

NombreParámetrosValor de retorno
click
void

Simula un clic del ratón en el elemento.

focus
  • options: FocusOptions (Opcional)
void

Establece el foco en el elemento actual.

Puede pasarse un objeto como parámetro con las siguientes propiedades:

  • preventScroll: Por defecto, cuando el elemento recibe el foco, la página se desplaza hasta mostrarlo. Si no quiere que la página se desplace, defina esta propiedad como true.
blur
void

Quita el foco del elemento actual.

checkValidity
boolean

Comprueba si el campo del formulario pasa la validación. Si falla, devuelve false y dispara el evento invalid; si la pasa, devuelve true.

reportValidity
boolean

Comprueba si el campo del formulario pasa la validación. Si falla, devuelve false y dispara el evento invalid; si la pasa, devuelve true.

Si la validación falla, también muestra un mensaje de error en el componente.

setCustomValidity
  • message: string
void

Establece un mensaje de error personalizado. Si este mensaje no está vacío, indica que el campo no ha pasado la validación.

Eventos

Nombre
focus

Se dispara cuando recibe el foco.

blur

Se dispara cuando pierde el foco.

invalid

Se dispara cuando falla la validación del campo del formulario.

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 Parts

Nombre
button

Elemento interno <button> o <a>.

label

Texto del botón.

icon

Icono a la izquierda del botón.

end-icon

Icono a la derecha del botón.

loading

Elemento <mdui-circular-progress> en estado de carga.

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.

Contenido de esta página