如何在ionic 5中使文本输入中的图标可点击

Posted

技术标签:

【中文标题】如何在ionic 5中使文本输入中的图标可点击【英文标题】:how to make icon inside text input clickable in ionic 5 【发布时间】:2022-01-22 00:49:54 【问题描述】:

我在文本输入中添加了一个图标,该图标应该是可点击的,但在文本输入中添加后它不再可点击

<ion-input (ionChange)="inputChanged($event)" [formControlName]="formCtrlName">
  <ion-icon [name]='eye-outline' (click)="togglePassword()" class="suffix-icon" </ion-icon>
</ion-input>

【问题讨论】:

【参考方案1】:

您需要将&lt;icon&gt; 元素放在&lt;button&gt; 元素内。

<ion-input (ionChange)="inputChanged($event)" [formControlName]="formCtrlName">
    <!-- In Ionic 4 version it is used as follows. -->
     <ion-button (click)="clickEventFunction($event, item.id)">
        <ion-icon [name]='eye-outline' (click)="togglePassword()" class="suffix-icon"</ion-icon>
    </ion-button>

     <!-- Used as below before "Ionic 4" release. -->
     <button (click)="clickEventFunction($event, item.id)">
        <ion-icon [name]='eye-outline' (click)="togglePassword()" class="suffix-icon"</ion-icon>
    </button>
</ion-input>
clickEventFunction(event: Event, id: any)
    /* Something */


参考文献
ion-button Ionic API Documentation

【讨论】:

我的 html 中不知道该项目【参考方案2】:

在你的 ts 文件中取一个布尔值:

showPass: boolean = false;

在 html 中:

<ion-item lines="none">
  <ion-input type="showPass ? 'text' : 'password'" placeholder="Password" (ionChange)="inputChanged($event)" [formControlName]="formCtrlName"></ion-input>
  <ion-icon name="eye-outline" slot="end" *ngIf="!showPass" (click)="showPass = !showPass"></ion-icon>
  <ion-icon name="eye-off-outline" slot="end" *ngIf="showPass" (click)="showPass = !showPass"></ion-icon>
</ion-item>

【讨论】:

【参考方案3】:

在离子输入中制作可点击图标的简单方法。

【讨论】:

以上是关于如何在ionic 5中使文本输入中的图标可点击的主要内容,如果未能解决你的问题,请参考以下文章

怎样在ionic中导入外部图片啊?

如何在 swift 中使自定义 UITableViewCell 中的链接可点击

如何在Android的文本视图中使电话号码可点击

如何在 react-native 中使文本的某些部分可点击并且某些部分具有不同的文本颜色

如何使用 React JS 在 Material UI 中使整个 Card 组件可点击?

如何在 Flutter 中使 Expanded 中的文本可滚动