web-dev-qa-db-fra.com

est-il possible de changer le texte du bouton avec $ ionicPopup.confirm ()?

J'utilise $ ionicPopup.confirm () mais je voudrais changer le texte du "bouton d'annulation". Est-il possible de le faire?

Je connais la syntaxe .show ():

  buttons: [
  { text: 'Cancel' }
  ]

Mais cela ne semble pas fonctionner avec .confirm () ...

Merci 4 l'aide

19
smknstd

Au moins dans la dernière version de Ionic (1.0.0), vous pouvez effectuer les opérations suivantes:

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

Voici le documentation relative .

30
baxeico

[~ # ~] mise à jour [~ # ~] : sur ionic 1.0.0, c'est désormais possible, vérifier ici

options showConfirm:

{
  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.
}

Oui, vous pouvez faire ce que vous voulez, en utilisant ionic popup.show et liez l'événement Cancel.

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

Après enquête sur la fonction popover.confirm ionique il n'est pas possible de la personnaliser. Les valeurs de popover.confirm sont des lignes codées en dur 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 || {}));
  }
11
aorfevre

Il est possible de le faire, vous devez utiliser la chose "type" à l'intérieur du bouton

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

dans la partie type vous devez donner nom de la classe, et vous pouvez changer la couleur du bouton.

3
Anshul Kalra