Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

517
Views
ion-input with icon at the end
    <ion-input placeholder="Username" formControlName="userName" class="primary-input"></ion-input>
     
         <ion-input [type]="passwordType" placeholder="Password" formControlName="password" autocomplete="off"  class="primary-input"> 
        <ion-icon name="eye"  (click)="togglePasswordMode()"  ></ion-icon>
        </ion-input>
  <div class="ion-margin-top">
    <ion-button expand="block" (click)="!isSubmitted && login()" >LOGIN</ion-button>
  </div>
       
 The above is my code currenty showing like this

enter image description here

currently showing icon at the start but i need to show at the end ..

i tried ion-item with slot="end" works but i dont want use that beacuse textbox show slightly right side ..I need some alternative solution without using ion-item..

I am using ionic 5 ..Please some one help to css EDIT:

.primary-input {
    background: aliceblue;
    color: #999999;
    border-radius: 5px;
    margin-bottom: 10px;
}

EDIT: This is the output of ion-item

enter image description here

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Usually we use the icon in a button separately from the ion-input field. So you can use a border on the ion-item as the example.

HTM file:

      <form #loginForm="ngForm" class="access" (submit)="login(model)">
        <ion-list lines="none">
          <ion-item>
            <ion-label position="floating">EMAIL</ion-label>
            <ion-input type="text" name="email" [(ngModel)]="model.email"></ion-input>
          </ion-item>
          <ion-item>
            <ion-label position="floating">PASSWORD</ion-label>
            <ion-input type="password" name="psw" [(ngModel)]="model.psw"></ion-input>
            <ion-button slot="end" fill="clear" (click)="showPassword()" class="seeClient">
              <ion-icon *ngIf="showPsw==true" name="eye-outline" color="warning" class="iconEye"></ion-icon>
              <ion-icon *ngIf="showPsw==false" name="eye-off-outline" color="warning" class="iconEye"></ion-icon>
            </ion-button>
          </ion-item>
        </ion-list>
        <ion-button [disabled]="!mobile" expand="block" type="submit" color="warning">Entrar</ion-button>
      </form>

SCSS file:

.iconEye {
    font-size: 24px;
    padding-left: 4px;
    padding-top: 12px;
    vertical-align: middle;
}

ion-item {
    margin-bottom: 10px;
    background: transparent;
    border: 1px solid #eac402;
    --highlight-height: 0px;
    --highlight-color-valid: #eac402;
    --highlight-color-focused: #eac402;
    --highlight-color-invalid: #eac402;
}

Login image input using icon button

over 4 years ago · Santiago Trujillo Report

0

Wrap your code with an ion-item, place the ion-icon outside the ion-input, it would go something like this:

  <ion-item>
    <ion-input [type]="passwordType" placeholder="Password" formControlName="password" autocomplete="off" class="primary-input"></ion-input>
    <ion-icon name="eye" (click)="togglePasswordMode()"></ion-icon>
  </ion-item>

Here's how it would look like now:

demo

EDIT:

To fix previous behavior for multiple inputs, I would suggest using ion-grid, ion-row, ion-col layout components.

Here's the code

<ion-grid class="m-0">
    <ion-row>
      <ion-col>
        <ion-input placeholder="Username" formControlName="userName" class="primary-input"></ion-input>
      </ion-col>
    </ion-row>
    <ion-row>
      <ion-col>
        <ion-input [type]="passwordType" placeholder="Password" formControlName="password" autocomplete="off" class="primary-input"></ion-input>
      </ion-col>
      <ion-icon name="eye" class="m-auto" (click)="togglePasswordMode()"></ion-icon>
    </ion-row>
  </ion-grid>

And here's how it would look like now

enter image description here Hope this helped.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!