Descripción general de Web Components botones

    The Web Components Button Component lets you enable clickable elements that trigger actions in your Web Components 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 Web Components Button OnClick event, toggle the Web Components button, disable the Web Components button, and more.

    Web Components Button Example

    Usage

    En primer lugar, debe instalar el Ignite UI for Web Components ejecutando el siguiente comando:

    npm install igniteui-webcomponents
    

    Luego tendrás que importar elIgcButtonComponent CSS necesario y registrar su módulo, así:

    import { defineComponents, IgcButtonComponent } from "igniteui-webcomponents";
    import 'igniteui-webcomponents/themes/light/bootstrap.css';
    
    defineComponents(IgcButtonComponent);
    

    Para una introducción completa al Ignite UI for Web Components, lee el tema Empezar.

    La forma más sencilla de empezar a usar elIgcButtonComponent uso es la siguiente:

    <igc-button>Click me</igc-button>
    

    Prefix / Suffix

    Conprefix las ranurassuffix y delIgcButtonComponent componente, podemos añadir contenido diferente antes y después del contenido principal del botón.

    <igc-button type="button" variant="contained">
        <span slot="prefix">+</span>Click me<span slot="suffix">-</span>
    </igc-button>
    

    Type

    El componente botón cambiará su estructura interna de a<button> a elemento<a> tipo cuando se establece elhref atributo. En ese caso, el botón puede considerarse un enlace normal. Configurar elhref atributo te permitirá también establecer losreltarget atributos ydownload. En el caso de que el componente button use un elemento real<button> internamente, podemos especificarloType asignando la propiedad a cualquiera de los siguientes valores:

    • Submit- cuando queremos enviar los datos del formulario
    • reset- cuando queremos restablecer los datos del formulario a sus valores iniciales
    • button- cuando queremos añadir un botón con una funcionalidad personalizada en cualquier parte de una página web

    Button Variants

    Contained Button

    Usa elvariant atributo para añadir un botón simple de contenido contenido en tu plantilla de componentes. Ten en cuenta que si no configuras variant, por defecto se pondrá en contained.

    <igc-button variant="contained">Contained</igc-button>
    

    Outlined Button

    Todo lo que tienes que hacer para crear unoutlined botón es cambiar el valor de lavariant propiedad:

    <igc-button variant="outlined">Outlined</igc-button>
    

    Flat Button

    De forma analógica, podemos cambiar aflat variante.

    <igc-button variant="flat">Flat</igc-button>
    

    Floating Action Button

    Podemos crear un botón de acción flotante estableciendo lavariant propiedad en:fab

    <igc-button variant="fab">Fab</igc-button>
    

    Button Sizing

    Los usuarios pueden cambiar el tamaño de laIgcButtonComponent variable CSS--ig-size. En el siguiente ejemplo, añadiremos algunos botones de radio para mostrar todos los valores de tamaño. Así, cada vez que se seleccione uno, cambiaremos el tamaño del botón.

    import { defineComponents, IgcButtonComponent, IgcRadioComponent, IgcRadioGroupComponent } from 'igniteui-webcomponents';
    defineComponents(IgcButtonComponent, IgcRadioComponent, IgcRadioGroupComponent);
    
    <igc-radio-group id="radio-group" alignment="horizontal">
        <igc-radio name="size" value="small" label-position="after">Small</igc-radio>
        <igc-radio name="size" value="medium" label-position="after" checked>Medium</igc-radio>
        <igc-radio name="size" value="large" label-position="after">Large</igc-radio>
    </igc-radio-group>
    
    this.radioGroup = document.getElementById('radio-group') as IgcRadioGroupComponent;
    this.outlinedButton = document.getElementById('outlined-btn') as IgcButtonComponent;
    this.flatButton = document.getElementById('flat-btn') as IgcButtonComponent;
    this.containedButton = document.getElementById('contained-btn') as IgcButtonComponent;
    this.fabButton = document.getElementById('fab-btn') as IgcButtonComponent;
    
    this.radioGroup.addEventListener('click', (radio: any) => {
        this.outlinedButton.style.setProperty('--ig-size', `var(--ig-size-${radio.target.value})`);
        this.flatButton.style.setProperty('--ig-size', `var(--ig-size-${radio.target.value})`);
        this.containedButton.style.setProperty('--ig-size', `var(--ig-size-${radio.target.value})`);
        this.fabButton.style.setProperty('--ig-size', `var(--ig-size-${radio.target.value})`);
    });
    

    El resultado de implementar el código anterior debería verse similar al siguiente:

    Download

    Configurar ladownload propiedad pedirá al usuario que guarde la URL enlazada en lugar de navegar hasta ella.

    <igc-button
        href=""
        variant="contained"
        download="url_to_content"
        target="_blank">
        Download
    </igc-button>
    

    Styling

    ExponeIgcButtonComponent tres partes CSS que podemos usar para el estilismo:

    Nombre Descripción
    base El elemento button nativo del componente igc-button.
    prefix Contenedor de prefijos del componente igc-button.
    suffix Contenedor de sufijos del componente igc-button.

    Labase parte CSS nos permite estilizar el elemento envuelto (<button>o<a>).

    igc-button::part(base) {
      background-color: var(--ig-primary-500);
      color: var(--ig-primary-500-contrast);
      padding: 18px;
    }
    

    API References

    Additional Resources