cordovaDialogs显示默认文本,不显示自定义文本

时间:2015-08-10 13:12:02

标签: angularjs cordova ionic-framework

我正在尝试显示确认框,这工作正常。但它显示默认文本,确定和取消。

我想要显示不同的文字。我们也可以显示三个按钮。

$cordovaDialogs.confirm('message', 'title', ['button 1','button 2'])
    .then(function(buttonIndex) {
      // no button = 0, 'OK' = 1, 'Cancel' = 2
      var btnIndex = buttonIndex;
    });

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我正在使用Ionic v0.9.27和ngCordova开发应用程序。

当我在调试模式下运行应用程序时,我注意到的第一件事是ng-cordova.js中的cordovaDialogs模块始终创建一个普通的确认窗口(并且仅传递给该窗口的消息),因为代码检查是否 $ window.navigator.notification var是定义的,当执行的代码不是 $ window.confirm(message)时,稍后将通过相同的方法解析回调。

我所做的是按照该项目的文档安装cordova-plugin-dialogs,基本上运行cordova cli命令如下: cordova插件添加cordova-plugin-dialogs

然后再次构建和部署应用以解决问题。您可以尝试的另一件事是在ng-cordova.js文件中(首先,检查您是否使用了库的最小化版本)对下面的代码进行编码并检查生成弹出窗口是否包含所有内容。

 document.addEventListener("deviceready", onDeviceReady, false); 
 navigator.notification.confirm(
    'Test popup',  // message
    onConfirm, 
    'Test window',            // title
     ['Custom button1','Custom button2'] // buttonLabels
);

function onConfirm(buttonIndex){
alert('You selected button ' + buttonIndex);
if(buttonIndex==2){
alert('You selected button - no');
}else{
alert('You selected button - yes');

}

}

由于这篇文章有点旧,我想这个问题的主人可能找到了一个解决方法,但我希望这对面临同样问题的其他人有用。 感谢

答案 1 :(得分:0)

我建议使用ionicPopup很舒服且易于编辑。访问了ionicPopup

$ionicPopup.show({
     title: 'Test title',
     subTitle: '',
     content: 'test content on pop up',
     buttons: [
       { text: 'No', //Cancel button
        onTap: function(e){
          //function negative
        }
       },
       {
         text: 'Yes', //Ok button
         type: 'button-positive',
         onTap: function(e) {
            //function positive
         }
       },
     ]
    })

答案 2 :(得分:0)

相同的代码在设备和模拟器上适用于我,它不能在浏览器上运行。