Framework7 - Barre de recherche

La description

Framework 7 permet de rechercher les éléments en utilisant la classe searchbar .

Paramètres de la barre de recherche

S. Non Paramètres et description Type Défaut
1

searchList

Il recherche le sélecteur CSS ou l'élément HTML de la liste.

chaîne ou élément HTML -
2

searchIn

Vous pouvez rechercher les éléments d'affichage de liste des sélecteurs CSS, ainsi que les éléments en passant des classes .item-title , .item-text .

chaîne ".item-title"
3

found

Il recherche le sélecteur CSS ou l'élément HTML à l'aide de l'élément "found". De plus, il utilise l' élément .searchbar-found s'il n'y a aucun élément spécifié.

chaîne ou élément HTML -
4

notfound

Il recherche le sélecteur CSS ou l'élément HTML à l'aide de l'élément "not-found". De plus, il utilise l' élément .searchbar-not-found si aucun élément n'est spécifié.

chaîne ou élément HTML -
5

overlay

Il recherche le sélecteur CSS ou l'élément HTML à l'aide de l'élément "searchbar overlay" et utilise l'élément .searchbar-overlay , s'il n'y a pas d'élément spécifié.

chaîne ou élément HTML -
6

ignore

Vous pouvez ignorer le sélecteur CSS pour les éléments en utilisant la barre de recherche.

chaîne ".searchbar-ignore"
sept

customSearch

Lorsqu'elle est activée, la barre de recherche ne recherchera dans aucun des blocs de liste spécifiés par searchList et vous serez autorisé à utiliser la fonctionnalité de recherche personnalisée.

booléen faux
8

removeDiacritics

Lors de la recherche d'un élément, supprimez les signes diacritiques en activant ce paramètre.

booléen faux
9

hideDividers

Ce paramètre masquera les séparateurs d'éléments et le titre du groupe, s'il n'y a pas d'éléments.

booléen vrai
dix

hideGroups

Ce paramètre masquera les groupes, s'il n'y a aucun élément trouvé dans les groupes d'affichage de liste.

booléen vrai

Rappels de la barre de recherche

S. Non Rappels et description Type Défaut
1

onSearch

Cette méthode déclenchera la fonction de rappel lors de la recherche.

les fonctions) -
2

onEnable

Cette méthode déclenchera la fonction de rappel lorsque la barre de recherche deviendra active.

les fonctions) -
3

onDisable

Cette méthode déclenchera la fonction de rappel lorsque la barre de recherche devient inactive.

les fonctions) -
4

onClear

Cette méthode déclenchera la fonction de rappel lorsque vous cliquerez sur l'élément "effacer".

les fonctions) -

Propriétés de la barre de recherche

S. Non Propriétés et description
1

mySearchbar.params

Représente les paramètres initialisés passés avec l'objet.

2

mySearchbar.query

Recherche la requête actuelle.

3

mySearchbar.searchList

Définit le bloc de liste de recherche.

4

mySearchbar.container

Définit le conteneur de la barre de recherche avec l'élément HTML.

5

mySearchbar.input

Définit l'entrée de la barre de recherche avec l'élément HTML.

6

mySearchbar.active

Il définit si la barre de recherche est activée ou désactivée.

Méthodes de la barre de recherche

S. Non Méthodes et description
1

mySearchbar.search(query);

Cette méthode recherche la requête passée.

2

mySearchbar.enable();

Il active la barre de recherche.

3

mySearchbar.disable();

Il désactive la barre de recherche.

4

mySearchbar.clear();

Vous pouvez effacer la requête et les résultats de la recherche.

5

mySearchbar.destroy();

Il détruit l'instance de la barre de recherche.

Événements JavaScript de la barre de recherche

S. Non Description de l'évenement Cible
1

search

Vous pouvez déclencher cet événement lors de la recherche d'éléments.

<div class = "list-block">
2

clearSearch

Cet événement sera déclenché lorsque l'utilisateur cliquera sur l'élément clearSearch.

<div class = "list-block">
3

enableSearch

Lorsque la barre de recherche devient activée, cet événement sera déclenché.

<div class = "list-block">
4

disableSearch

Lorsque la barre de recherche est désactivée et que l'utilisateur clique sur le bouton d'annulation ou sur l'élément "barre de recherche en superposition", cet événement est déclenché.

<div class = "list-block">

Exemple

L'exemple suivant illustre l'utilisation de la barre de recherche lors du défilement dans le Framework7 -

<!DOCTYPE html>
<html>

   <head>
      <meta name = "viewport" content = "width = device-width, initial-scale = 1, 
         maximum-scale = 1, minimum-scale = 1, user-scalable = no, minimal-ui" />
      <meta name = "apple-mobile-web-app-capable" content = "yes" />
      <meta name = "apple-mobile-web-app-status-bar-style" content = "black" />
      <title>Search Bar Layout</title>
      <link rel = "stylesheet" 
         href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css" />
      <link rel = "stylesheet" 
         href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css" />
   </head>

   <body>
      <div class = "views">
         <div class = "view view-main">
            <div class = "pages navbar-fixed">
               <div data-page = "home" class = "page">
               
                  <div class = "navbar">
                     <div class = "navbar-inner">
                        <div class = "center sliding">Search Bar Layout</div>
                     </div>
                  </div>
                  
                  <form data-search-list = ".list-block-search" data-search-in = ".item-title" 
                     class = "searchbar searchbar-init">
                     <div class = "searchbar-input">
                        <input type = "search" placeholder = "Search"><a href = "#" 
                           class = "searchbar-clear"></a>
                     </div>
                     <a href = "#" class = "searchbar-cancel">Cancel</a>
                  </form>
                  
                  <div class = "searchbar-overlay"></div>
                  
                  <div class = "page-content">
                     <div class = "content-block searchbar-not-found">
                        <div class = "content-block-inner">No element found...</div>
                     </div>
                     
                     <div class = "list-block list-block-search searchbar-found">
                        <ul>
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">India</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Argentina</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Belgium</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Brazil</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Canada</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Colombia</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Denmark</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Ecuador</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">France</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Germany</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Greece</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Haiti</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Hong Kong</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Iceland</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Ireland</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Jamaica</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Japan</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Kenya</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Kuwait</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Libya</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Liberia</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Malaysia</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Mauritius</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Mexico</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Namibia</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">New Zealand</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Oman</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Paraguay</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Philippines</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Russia</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Singapore</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">South Africa</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Thailand</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">United Kingdom</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Vatican City</div>
                              </div>
                           </li>
                           
                           <li class = "item-content">
                              <div class = "item-inner">
                                 <div class = "item-title">Zimbabwe</div>
                              </div>
                           </li>
                        </ul>
                     </div>
                     
                  </div>
               </div>
            </div>
         </div>
      </div>
      
      <script type = "text/javascript" 
         src = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script>
      
      <script>
         var myApp = new Framework7();
         var mainView = myApp.addView('.view-main');
      </script>
   </body>

</html>

Production

Exécutons les étapes suivantes pour voir comment fonctionne le code donné ci-dessus -

  • Enregistrez le code HTML ci-dessus search_bar.html fichier dans le dossier racine de votre serveur.

  • Ouvrez ce fichier HTML en tant que http: //localhost/search_bar.html et la sortie s'affiche comme indiqué ci-dessous.

  • Si l'élément contenu dans la liste est entré dans la barre de recherche, il affiche cet élément particulier de la liste.

  • Si l'élément autre que les éléments contenus dans la liste est saisi, il n'affiche aucun élément trouvé.