Web Components Mask Input Overview

    La entrada de máscara Ignite UI for Web Components es un campo de entrada que permite al desarrollador controlar la entrada del usuario y formatear el valor visible, en función de reglas configurables. Proporciona diferentes opciones de entrada y facilidad de uso y configuración.

    Web Components Mask Input Example

    Usage

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

    npm install igniteui-webcomponents
    

    Antes de usarlosIgcMaskInputComponent, debes registrarlo de la siguiente manera:

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

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

    Mask Rules

    La siguiente tabla muestra las reglas de máscara integradas admitidas:

    Personaje de máscara Descripción
    0 Carácter de dígito [0-9]. Se requiere entrada.
    9 Carácter de dígito [0-9]. La entrada es opcional.
    # Carácter de dígito [0-9], signo más (+) o menos (-). Se requiere entrada.
    l Carácter de letra. Se requiere entrada.
    ? Carácter de letra. La entrada es opcional.
    A Carácter alfanumérico (letra o dígito). Se requiere entrada.
    a Carácter alfanumérico (letra o dígito). La entrada es opcional.
    & Cualquier carácter del teclado. Se requiere entrada.
    C Cualquier carácter del teclado. La entrada es opcional.
    \ Escapa de una bandera de máscara y la convierte en literal.

    Estas banderas también participan en la validación de componentes, es decir, la entrada se vuelve inválida si se llenan algunas, pero no todas, las posiciones requeridas (ningún valor lleno o vacío sigue siendo responsabilidad derequired ella). Esto se aplica tanto a entradas independientes como cuando se incluyen en un formulario.

    Applying Mask

    Aplicar la mascarilla es bastante sencillo. Solo tienes que proporcionar un patrón predeterminado para lamask propiedad de la entrada.

    En el siguiente ejemplo, aplicaremos una máscara para un número de teléfono con un código de extensión.

    <igc-mask-input id="mask-input" mask="(####) 00-00-00 Ext. 9999">
        <igc-icon name="phone" slot="prefix"></igc-icon>
        <span slot="helper-text">Phone number</span>
    </igc-mask-input>
    

    Después de eso deberías ver lo siguiente en tu navegador:

    Prompt Character

    Los desarrolladores pueden personalizar el símbolo de indicación usado para las partes sin rellenar de la máscara. Para ello, simplemente aporta cualquier carácter a laprompt propiedad:

    <igc-mask-input id="mask-input" mask="(####) 00-00-00 Ext. 9999" prompt="-"></igc-mask-input>
    

    Por defecto, elprompt carácter es guion de guion.

    Placeholder

    Los promotores también pueden aprovechar laplaceholder propiedad, que cumple la función del atributo temporal de entrada nativa. Si no se proporciona valor para el marcador de posición, el valor de la máscara se utiliza como tal.

    <igc-mask-input id="mask-input" mask="00/00/0000" placeholder="dd/MM/yyyy"></igc-mask-input>
    

    Value Modes

    RevelaIgcMaskInputComponent unavalueMode propiedad que te permite elegir entreraw opcioneswithFormatting y opciones para configurar qué valor de entrada (formateado o en bruto) vincular en tu formulario cuando se aplica una máscara específica. Por defecto,valueMode está configurado comoraw. Pruébalo tú mismo en el ejemplo de abajo:

    Styling

    ElIgcMaskInputComponent componente expone las piezas CSS de casi todos sus elementos internos. La siguiente tabla enumera todas las partes CSS expuestas:

    Nombre Descripción
    container El contenedor principal que contiene todos los elementos de entrada principales.
    input El elemento de entrada nativo.
    label El elemento de etiqueta nativo.
    prefix El contenedor de prefijo.
    suffix El contenedor del sufijo.
    helper-text El contenedor de texto auxiliar.
    igc-mask-input::part(input) {
      background-color: var(--ig-primary-100);
      border-color: var(--ig-secondary-500);
      box-shadow: none;
    }
    
    igc-mask-input::part(input)::placeholder {
      color: var(--ig-primary-100-contrast);
    }
    

    Assumptions and limitations

    • La entrada enmascarada no expone un atributo de tipo ya que siempre es una entrada de tipo texto.
    • Actualmente no se admite el comportamiento de deshacer/rehacer.

    API References

    Additional Resources