Visão geral de diretivas de entrada e rótulo Angular

    As diretivas Ignite UI for Angular Input e Label são usadas para decorar e estilizar elementos de entrada de linha única ou multilinha em um componente igx-input-group.

    Angular Label & Input Example

    Getting Started with Ignite UI for Angular Label & Input

    Para começar a usar as diretivas Ignite UI for Angular Label e Input, primeiro você precisa instalar Ignite UI for Angular. Em um aplicativo Angular existente, digite o seguinte comando:

    ng add igniteui-angular
    

    Para obter uma introdução completa ao Ignite UI for Angular, leia o tópico de introdução.

    O próximo passo é importar o IgxInputGroupModule no seu arquivo app.module.ts.

    // app.module.ts
    
    import { FormsModule } from '@angular/forms';
    import { IgxInputGroupModule } from 'igniteui-angular';
    // import { IgxInputGroupModule } from '@infragistics/igniteui-angular'; for licensed package
    
    
    @NgModule({
        ...
        imports: [..., IgxInputGroupModule, FormsModule],
        ...
    })
    export class AppModule {}
    

    Como alternativa, a partir da 16.0.0 você pode importar IgxLabelDirective, IgxInputDirective e IgxInputGroupComponent como dependências autônomas ou usar o token IGX_INPUT_GROUP_DIRECTIVES para importar o componente e todos os seus componentes e diretivas de suporte.

    // home.component.ts
    
    import { FormsModule } from '@angular/forms';
    import { IGX_INPUT_GROUP_DIRECTIVES } from 'igniteui-angular';
    // import { IGX_INPUT_GROUP_DIRECTIVES } from '@infragistics/igniteui-angular'; for licensed package
    
    @Component({
      selector: 'app-home',
      template: `
        <igx-input-group>
          <input igxInput name="fullName" type="text" [(ngModel)]="fullName" />
          <label igxLabel for="fullName">Full Name</label>
        </igx-input-group>
      `,
      styleUrls: ['home.component.scss'],
      standalone: true,
      imports: [IGX_INPUT_GROUP_DIRECTIVES, FormsModule],
      /* or imports: [IgxInputGroupComponent, IgxLabelDirective, IgxInputDirective, FormsModule] */
    })
    export class HomeComponent {
      public fullName = 'John Doe';
    }
    

    Agora que você importou o módulo ou as diretivas do Ignite UI for Angular Input Group, você pode começar a usar as diretivas igxLabel e igxInput e o componente igx-input-group.

    Using the Angular Label & Input

    O estilo padrão das diretivas Label e Input segue a especificação dos campos de texto nas diretrizes do Material Design.

    Para usar igxInput e igxLabel, você precisa envolvê-los em um contêiner <igx-input-group>:

    <igx-input-group>
      <input igxInput name="fullName" type="text" />
      <label igxLabel for="fullName">Full Name</label>
    </igx-input-group>
    

    A diretiva igxInput pode ser aplicada aos elementos HTML <input> e <textarea>, tanto em campos de texto de linha única quanto de várias linhas.

    Validação

    Podemos validar uma input usando o atributo required. Isso adicionará um asterisco ao lado do rótulo, indicando que esse campo deve ser preenchido. A entrada ficará verde/vermelha dependendo se a validação passa/falha.

    <igx-input-group>
      <input igxInput name="fullName" type="text" required="required" />
      <label igxLabel for="fullName">Full Name</label>
    </igx-input-group>
    

    Data Binding

    A diretiva Ignite UI for Angular Input suporta vinculação de dados unidirecional e bidirecional. O código a seguir ilustra como adicionar uma vinculação de dados bidirecional usando o NgModel:

    public user = {
        fullName: ""
    };
    
    

    em nossa marcação:

    <igx-input-group>
      <input igxInput name="fullName" type="text" [(ngModel)]="user.fullName" required="required"/>
      <label igxLabel for="fullName">Full Name</label>
    </igx-input-group>
    

    Focus & Text Selection

    Você pode adicionar lógica para forçar focus em elementos de entrada usando a diretiva igxFocus.

    <igx-input-group>
      <input igxInput [igxFocus]="isFocused" name="fullName" type="text" />
      <label igxLabel for="fullName">Full Name</label>
    </igx-input-group>
    
    Note

    Para usar a diretiva igxFocus, você precisa importar o IgxFocusModule.

    Se você quiser que o texto em um elemento de entrada, marcado com igxInput, seja selecionado no foco, você precisa habilitar a diretiva igxTextSelection.

    <igx-input-group>
      <input igxInput [igxTextSelection]="true" [igxFocus]="isFocused" name="fullName" type="text"/>
      <label igxLabel for="fullName">Full Name</label>
    </igx-input-group>
    
    <igx-input-group>
      <input igxInput [igxTextSelection]="true" name="email" type="text" />
      <label igxLabel for="email">Email</label>
    </igx-input-group>
    
    Note

    Para usar a diretiva igxTextSelection, você precisa importar o IgxTextSelectionModule.

    Grupo de Entrada

    O componente Ignite UI for Angular Input Group ajuda os desenvolvedores a criar formulários estéticos e fáceis de usar. Para mais informações, você pode ler o tópico separado aqui.

    API References

    Additional Resources

    Tópicos relacionados:

    Nossa comunidade é ativa e sempre acolhedora para novas ideias.