19

我正在使用 $ionicPopup.confirm() 但我想更改“取消按钮”文本。有可能这样做吗?

我知道 .show() 语法:

  buttons: [
  { text: 'Cancel' }
  ]

但它似乎不适用于 .confirm() ...

感谢4的帮助

4

3 回答 3

32

至少在最新版本的 Ionic (1.0.0) 中,您可以执行以下操作:

    var confirmPopup = $ionicPopup.confirm({
        title: 'Popup title',
        template: 'Popup text',
        cancelText: 'Custom cancel',
        okText: 'Custom ok'
    }).then(function(res) {
        if (res) {
            console.log('confirmed');
        }
    });

这是相关文档

于 2015-05-20T15:49:26.440 回答
11

更新:在 ionic 1.0.0 上,这现在是可能的,请在此处查看

显示确认选项:

{
  title: '', // String. The title of the popup.
  cssClass: '', // String, The custom CSS class name
  subTitle: '', // String (optional). The sub-title of the popup.
  template: '', // String (optional). The html template to place in the popup body.
  templateUrl: '', // String (optional). The URL of an html template to place in the popup   body.
  cancelText: '', // String (default: 'Cancel'). The text of the Cancel button.
  cancelType: '', // String (default: 'button-default'). The type of the Cancel button.
  okText: '', // String (default: 'OK'). The text of the OK button.
  okType: '', // String (default: 'button-positive'). The type of the OK button.
}

是的,你可以做任何你想做的事,使用 ionic popup.show 并绑定 Cancel 事件。

$ionicPopup.show({
   template: msg,
   title: titleConfirm,
   buttons: [
     { text: "BTN_NO",
       onTap:function(e){
            return false;
       }
     },
     { text: "BTN_OK",
       onTap:function(e){
            return true;
       }
     },
   ]
});

在对ionic popover.confirm 函数进行调查后,无法对其进行自定义。popover.confirm 的值是硬编码的第 446 行

function showConfirm(opts) {
    return showPopup(extend({
      buttons: [{
        text: opts.cancelText || 'Cancel',
        type: opts.cancelType || 'button-default',
        onTap: function() { return false; }
      }, {
        text: opts.okText || 'OK',
        type: opts.okType || 'button-positive',
        onTap: function() { return true; }
      }]
    }, opts || {}));
  }
于 2015-05-20T14:04:57.687 回答
3

这是可能的,你必须在按钮内使用“类型”的东西

buttons: [
            { text: 'Cancel' },
            {
                text: '<b>Save</b>',
                type: 'button-assertive',
                onTap: function(e) {
                    $scope.request_form.abc = "accepted";
                }
            }
        ]

类型部分你必须给类名,你可以改变按钮的颜色

于 2015-05-20T14:39:47.520 回答