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.