HTML select "Done" label not showing on Ionic for iOS HTML select "Done" label not showing on Ionic for iOS angularjs angularjs

HTML select "Done" label not showing on Ionic for iOS


The Ionic app contains a default code in app.js who hide the keyboard acessory bar, you need to comment this following line: cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);

Getting something like this:

// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard// for form inputs)if (window.cordova && window.cordova.plugins.Keyboard) {  //cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);  cordova.plugins.Keyboard.disableScroll(true);}


Regarding @emccracken's comment, according to the Ionic Team the reason for hideKeyboardAccessoryBar is "because native apps seldom have an accessary bar. It's a dead give away that an app is built with web tech and isn't native."

You can show and hide the accessory bar on demand which is explained a bit here. Taking the $timeouts out of the directive worked better for me. Here's what mine looks like.

.directive('select', function() {  return {    restrict: 'E',    link: function(scope, element, attrs) {      element.bind('focus', function(e) {        if (window.cordova && window.cordova.plugins.Keyboard) {          // console.log("show bar (hide = false)");          cordova.plugins.Keyboard.hideKeyboardAccessoryBar(false);        }      });      element.bind('blur', function(e) {        if (window.cordova && window.cordova.plugins.Keyboard) {          // console.log("hide bar (hide = true)");          cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);        }      });    }  };})


If you still have this issue, my case was a keyboard plugin conflict between cordova-plugin-keyboard and cordova-plugin-ionic-keyboard.

So check on config.xml to see if you have more than one plugin and if so remove with:

cordova plugin remove [plugin-name]

then install proper plugin:

ionic cordova plugin add ionic-plugin-keyboard

https://ionicframework.com/docs/native/keyboard/

Then you will be able to use cordova.plugins.Keyboard.hideKeyboardAccessoryBar(false);

Hope it helps.