Autorisé à modifier le type de demande de transmission de démarrage de plusieurs caractères du bouchon déterminé en fonction des données d'entrée

Au début, je dois dire, je ne suis pas familier avec select2. Tout travail utilisé dans la hâte a regardé sa documentation.

Le point, les travaux nécessaires pour rechercher des utilisateurs en fonction du nom ou le numéro de téléphone de l'utilisateur, mais parce que trop d'utilisateurs, ne peut pas revenir en arrière l'entrée de chaque utilisateur de vérifier à nouveau, il est nécessaire d'utiliser minimumInputLength Select2 permettent un contrôle de Indique le caractère minimal a commencé avant d'envoyer la demande. Pervertie il apparaît, le nom avec le numéro de téléphone ne peut pas être réglé sur la même valeur. Il est nécessaire de faire une fonction minimumInputLength, pour déterminer dynamiquement sa valeur. Et pourtant minimumInputLength select2 lui-même vu comme un nombre, nous devons modifier le code source du select2. Ensuite, parler de ce que les régions ont changé. Il y a deux endroits defaults.js et minimumInpoutLength.js.


Permettez-moi de parler defaults.js, trouver le code ci-dessous:

if (options.minimumInputLength> 0) {
        options.dataAdapter = Utils.Decorate (
          options.dataAdapter,
          MinimumInputLength
        );
      }

Un changement qui à:

if (options.minimumInputLength) {
        options.dataAdapter = Utils.Decorate (
          options.dataAdapter,
          MinimumInputLength
        );
      }


Ce code me fait un peu surpris, même avec un mode décorateur, le code doit saisir l'occasion de le lire à nouveau select2, en savoir plus sur les idées des autres :)


Puis minimumInputLength.js:

Trouver requête méthode modifiée comme suit:

  MinimumInputLength.prototype.query = function (décorée, params, rappel) {
    params.term = params.term || '';
    var minimumInputLength = typeof (this.minimumInputLength) === 'fonction' && this.minimumInputLength (params) || this.minimumInputLength;


    si (params.term.length <minimumInputLength) {
      this.trigger ( 'résultats: message', {
        message: 'inputTooShort',
        args: {
          minimum: minimumInputLength,
          entrée: params.term,
          params: params
        }
      });


      revenir;
    }


    Decorated.call (cela, params, rappel);
  };




Publié 55 articles originaux · louange gagné 39 · vues 80000 +

Je suppose que tu aimes

Origine blog.csdn.net/Chinese521/article/details/52316493
conseillé
Classement