cordova-plugin-dialogs:navigator.notification.prompt 无法正常工作

cordova-plugin-dialogs:navigator.notification.prompt not working properly

 function onPrompt(results) {
   if (results.buttonIndex == 1) {
     alert('sucess');//working
   } else {
     alert('fail');//not working
   }
 }

navigator.notification.prompt(
  'Please enter your name',
  onPrompt,
  'Registration',
  ['Ok', 'Exit'],
  'Maruthi'
);

onprompt() else 部分在用户按下退出时不工作,但如果在用户按下确定按钮时按预期正常工作。

您必须检查 buttonIndex 的类型:

function onPrompt(results) {
   if (results.buttonIndex === 1) {
     alert('sucess');
   } else {
     alert('fail');
   }
 }

如果您只使用两个等号,则 1 表示 TRUE,在您的函数中它始终为 TRUE,因为 buttonIndex 有一个值。

这个插件 return 不同的 buttonIndex 对于不同的平台,因为在某些平台上这个警报也有关闭按钮 "x" 也正在计数,你应该还检查和平台。如果我记得这个问题是关于 iOS where 1-close button; 2 -ok 和 3 -exit