I know that this branch is 7 months old, and the OP probably passed this question a long time ago, but since this feature has not yet been added to the ion infrastructure, I am adding a workaround that I came up with for linking other people.
PART PART
Intuitively, the first thing you need to do is add some sass / css to hide the unwanted buttons. I did this by passing the css class "remove-ok" to selectOptions for my ion-select element. (I only remove the OK button, but if someone needs to remove the cancel button as well, this is a simple css change).
In component:
this.selectOptions = { cssClass: 'remove-ok' };
and in HTML:
<ion-select [selectOptions]="selectOptions">
And in app.scss add:
.remove-ok { .alert-button:nth-child(2) { display: none; } }
SCRIPT PART
Now that the OK button is hidden, you need to somehow close the warning window.
To trigger the click() event on a hidden OK button is simple and intuitive, but soon you will find out that although it works fine on ionic serve , it will not work on a real iOS device.
The solution is to find a link to the alert view, pass the selected option to the selection handler, and finally reject the view.
So, in ngOnInit in your component class, you will need the following:
ngOnInit() { let root = this.viewController.instance.navCtrl._app._appRoot; document.addEventListener('click', function(event){ let btn = <HTMLLIElement> document.querySelector('.remove-ok .alert-button-default:nth-child(2)'); let target = <HTMLElement> event.target; if(btn && target.className == 'alert-radio-label') { let view = root._overlayPortal._views[0]; let inputs = view.instance.d.inputs; for(let input of inputs) { if(input.checked) { view.instance.d.buttons[1].handler([input.value]); view.dismiss(); break; } } } }); }
Again, if you intend to remove the Cancel button, think of the css links in this code.