Maison > interface Web > js tutoriel > Yii2 utilise le plug-in Bootbox pour implémenter des compétences Windows_Javascript contextuelles personnalisées

Yii2 utilise le plug-in Bootbox pour implémenter des compétences Windows_Javascript contextuelles personnalisées

WBOY
Libérer: 2016-05-16 16:06:24
original
1559 Les gens l'ont consulté

Cette fois j'ai essayé un nouveau plug-in "bootbox".

Bootstarp est utilisé dans Yii2 pour rendre l'interface plus belle. Cependant, le seul inconvénient est que dans l'Action de la table Gridview, la fenêtre pop-up de la fonction delete est un peu incompatible avec Bootstrap. en ligne. Veuillez partager cette solution.

Bootbox.js est une petite bibliothèque JavaScript utilisée pour créer des boîtes de dialogue simples et programmables, basées sur le Modal (boîte modale) de Bootstrap.

Description officielle

http://bootboxjs.com/v3.x/index.html

Téléchargement Bootbox.js

Nous pouvons trouver le téléchargement open source bootbox.js sur GitHub

https://github.com/makeusabrew/bootbox

Comment utiliser ce plugin ?

En combinaison avec GridView de Yii2, nous pouvons personnaliser la fenêtre pop-up de style Bootbox :

1. Couvrir le module yii.js

Le yii.js fourni avec Yii2 définit la génération de la boîte de dialogue de confirmation et l'exécution des opérations d'action.

Nous pouvons utiliser la méthode overriding js pour atteindre notre objectif.

Créez un fichier javascript sous le chemin @app/web/js/, tel que main.js.

Le code est le suivant :

yii.allowAction = function ($e) {
  var message = $e.data('confirm');
  return message === undefined || yii.confirm(message, $e);
};
// --- Delete action (bootbox) ---
yii.confirm = function (message, ok, cancel) {

  bootbox.confirm(
    {
      message: message,
      buttons: {
        confirm: {
          label: "OK"
        },
        cancel: {
          label: "Cancel"
        }
      },
      callback: function (confirmed) {
        if (confirmed) {
          !ok || ok();
        } else {
          !cancel || cancel();
        }
      }
    }
  );
  // confirm will always return false on the first call
  // to cancel click handler
  return false;
}
Copier après la connexion

2. Enregistrez votre package de ressources

Besoin d'enregistrer les fichiers bootbox.js et main.js.

Modifier le fichier : @app/assets/Assets.php

Le code est le suivant :

namespace backend\assets;

use yii\web\AssetBundle;

class AppAsset extends AssetBundle
{
  public $basePath = '@webroot';
  public $baseUrl = '@web';
  public $css = ['css/site.css'];
  // 注册js资源
  public $js = ['js/bootbox.js', 'js/main.js'];
  public $depends = [
    'yii\web\YiiAsset',
    'yii\bootstrap\BootstrapAsset',
  ];
}

Copier après la connexion

3. Boîte modale personnalisée

En comprenant le code source de bootbox.js, vous pouvez savoir que bootbox.js utilise la boîte modale de bootstarp. Nous pouvons le personnaliser en fonction de nos besoins

Modifiez la variable "templates" dans le code source bootbox.js et personnalisez le style Modal.

Regardez les résultats de la comparaison :

Avant modification :

Après modification :

Je me sens beaucoup plus à l'aise instantanément et la fonction pop-up n'est plus aussi incohérente. Il existe de nombreux plug-ins contextuels comme celui-ci, et je pense que d'autres plug-ins peuvent être implémentés de la même manière.

Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal