How can I capture the click event on the oktext in Ionic?

When using Ionic, I have a select button with options for okText and cancelText. The issue I am facing is that when I click on okText, the menu closes as expected due to this attribute. However, I am interested in implementing it through click events. Below is my code snippet:

<ion-select okText="Okay" cancelText="Dismiss">
  ...
</ion-select>

I am looking for a way to navigate to another page when a function is declared in my .ts file.

Answer №1

To activate the cancel click event, you can utilize ionCancel, and to trigger the ok click event, you can use ionChange.

For instance:

HTML

<ion-select [(ngModel)]="employee" 
    (ionChange)="onModelChange()"
    (ionCancel)="onCancelClick()">

   <ion-option 
       *ngFor="let employee of employees" 
       [value]="employee"></ion-option>
  </ion-select>

TS

export class ExamplePage {

  employees = ['A', 'B', 'C', 'D'];
  employee;

  constructor() {

    this.employee = this.employees[0];
  }

  onModelChange() {

    console.log(this.employee);
  }

   onCancelClick () {
    console.log('handle onCancelClick');
  }

}

Answer №2

There are a couple of ways to handle cancel and ok click events in Ionic select elements.

<ion-select (cancel)="handleCancelClick()" (change)="handleOkClick()">
   ...
</ion-select>

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

What steps should I take to link form inputs from various child components to an array that is set in a parent component?

I'm in the process of linking form input from various child components (item-input-component) to an array itemList[] that is defined in a parent component (add-invoice-component). The goal is to gather three inputs (itemName, quantity, price), create ...

Tips for removing data from documents that include automatically generated IDs

In my Angular project, I am utilizing google-cloud-firestore as the database. To import Firestore, I used the code import { AngularFirestore } from '@angular/fire/firestore';. The following function is used to add data to the database: changeLev ...

Angular 2 - mastering the art of handling errors

In my Angular 2 application, I have multiple pages that call backend services. My question is how to create a universal error popup component that can display an error message whenever needed across all pages. Can anyone assist me in finding a solution f ...

What is a more effective approach for managing form data with React's useState hook?

Seeking a more efficient solution to eliminate redundancy in my code. Currently, I am utilizing useState() for managing user data, which results in repetition due to numerous fields. Below is a snippet of my current code: const [lname, setLast] = useState& ...

Having trouble accessing the object from @Input

My issue revolves around system.component.html <div *ngFor="let tab of tabs | async"> <app-tab [tab]="tab"></app-tab> </div> In tab.component.ts, I wrote the following code: export class TabComponent implements OnInit { @Inpu ...

Setting Angular FormControl value to null within a service

My Angular form is reactive and collects mobile numbers along with other details. Here is the code snippet: component.html <form [formGroup]="contactDetailsForm"> <ngx-intl-tel-input [cssClass]="'ngxIntlInputBorder'&quo ...

Tips for implementing a generic constant value in a TypeScript function

Is it permissible in TypeScript to have the following code snippet? function getFoo<P = "a"|"b">():string { // P represents a type, not an actual value! return "foo"; } getFoo<"a>">(); // no ...

Learn how to easily display Firebase data in a user-friendly HTML table with flexible columns, or seamlessly integrate it into an Angular MAT Table

https://stackblitz.com/edit/dynamic-columns-mat-table This is the current status of my table implementation. The table renders perfectly, but my need is to dynamically set column names without prior knowledge. For instance: Instead of ${element.descript ...

Printing feature not functioning properly on Internet Explorer version 11

Currently, I am facing an issue with printing a document using a blob URL and iFrame. Everything works perfectly in Chrome, but unfortunately, it's not functioning properly in IE browser. I need guidance on how to successfully print a blob URL that i ...

Error occurred after attempting to make a GET request

What I aim to achieve: I need to send two parameters from the front-end to the back-end. This is the code snippet: In TypeScript file: activeFromActiveToQuery(req?: any): Observable<ResponseWrapper>{ const options = createRequestOption(req) ...

Navigating and Organizing in Ionic Service Factory

Apologies for the beginner question. I am looking to incorporate filtering and sorting by name on my webpage. However, I have encountered two issues after attempting to implement this functionality using a factory in services.js: When typing a search ter ...

Replace pipeline function during component testing

During my unit testing of a component that utilizes a custom pipe, I encountered the need to provide a fake implementation for the transform method in my test. While exploring options, I discovered that it's feasible to override components, modules, ...

What could be the reason behind Cors preventing my API request?

Currently, I am in the process of developing a project that requires me to access an API that I have created. const endpoint = 'localhost:3000/api/v1/'; const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'appl ...

Position Bootstrap Modal in the center horizontally

I am working on an Angular project and struggling to center my Bootstrap 3 Modal horizontally on the screen. Despite trying various solutions like using text-align: center and align = "center", I have been unsuccessful. Can someone guide me on how to prope ...

Unlocking the full potential of Ionic 4 with push notifications, omitting

Currently, I am encountering an issue where I need to disable the display of notification alerts (local notification) while the application is running in the foreground on both Android and iOS. I only want to capture the push notification in the code witho ...

How to include extra data in Angular Firebase user creation using the createUserWithEmailAndPassword

Currently, I am working on implementing the Firebase createUserWithEmailAndPassword method. However, I would like to include an additional field named 'name' in Cloud Firestore. Below is a snippet of my code: auth.service.ts SignUp(email: string ...

The left side of the form input material is obscured unless the necessary criteria are fulfilled

I am currently in the process of developing the front-end for a web application using the material library. The issue I am facing is that when a field does not meet its requirements, such as needing to enter a 'bedrijfsnaam', the border turns red ...

Transferring information among components and incorporating the ngDoCheck function

We are currently working on transferring data from one component to another using the following method. If there is no data available, we display an error message; however, if there is data present, we populate it in a select box. showGlobalError = true; ...

Using TypeScript to determine the week number - the value on the right side of the math operation must be of data type 'any'

I've spent a lot of time searching for code to help me calculate the week number in my Angular app according to ISO standards. It's been challenging to find JavaScript-specific code, but I believe I may have found something - however, I encounter ...

Behavior of Shadow DOM role when using the <a> element without an href attribute

Recently, I started working with the shadow DOM and encountered a strange issue: In my Ionic Angular application, there is a text styled like a link in this form (simplified): <a href="${ifDefined(this.href)}">link</a> When testing ...