Input Group

    Input groups in the Ignite UI for Angular controls allow developers to create easy-to-use and aesthetic forms. The user experiences simplicity with inputting data, and the inputs also provide mitigation for handling validation and errors.

    Input Group Demo

    Usage

    The default styling of the Input Group component as well as its complimentary directives follow the text fields specification in the Material Design guidelines.

    To get started import all modules for Ignite UI components and the FormsModule in order to have working Template Driven Form:

    // app.module.ts
    
    ...
    import { IgxIconModule, IgxInputGroupModule, IgxButtonModule, IgxRippleModule, IgxDatePickerModule, IgxTimePickerModule, IgxComboModule, igxSelectModule } from "igniteui-angular";
    import { FormsModule } from "@angular/forms";
    
    @NgModule({
        ...
        imports: [..., IgxIconModule, IgxInputGroupModule, IgxButtonModule, IgxRippleModule, IgxDatePickerModule, IgxTimePickerModule, IgxComboModule, igxSelectModule, FormsModule],
        ...
    })
    export class AppModule {}
    
    Note

    To use any of the directives igxInput, igxLabel, igx-prefix, igx-suffix or igx-hint, you have to wrap them in an <igx-input-group> container.

    Label & Input

    You can read about the igxLabel and igxInput directives as well as their validation, data binding and API in a separate topic here.

    Prefix & Suffix

    If you want to have an input prefix or suffix, you can use Ignite UI for Angular Prefix or Suffix. Both directives can contain html elements, strings, icons or even other components. Let's add a new input field with string prefix (+359) and igx-icon suffix (<igx-icon>phone</igx-icon>):

    <igx-input-group>
        <igx-prefix>+359</igx-prefix>
        <label igxLabel for="phone">Phone</label>
        <input igxInput name="phone" type="text" [(ngModel)]="user.phone" />
        <igx-suffix>
            <igx-icon>phone</igx-icon>
        </igx-suffix>
    </igx-input-group>
    

    Here is how the sample looks:

    Hints

    Ignite UI for Angular Hint provides a helper text placed below the input. The hint can be placed at the start or at the end of the input. The position of the igx-hint can be set using the position property. Let's add a hint to our phone input:

    <igx-input-group>
        <igx-prefix>+359</igx-prefix>
        <label igxLabel for="phone">Phone</label>
        <input igxInput name="phone" type="text" [(ngModel)]="user.phone" />
        <igx-suffix>
            <igx-icon>phone</igx-icon>
        </igx-suffix>
        <igx-hint position="start">Ex.: +359 888 123 456</igx-hint>
    </igx-input-group>
    

    This is how the phone field with hint looks:

    Styling

    Our inputs could be styled differently by using the type property of the igxInputGroup component. Currently we support four different ways of styling: line (the default one), box, border and search. This is how they look:

    API References

    Additional Resources

    Related topics:

    Our community is active and always welcoming to new ideas.