Framework7 - Barra de Pesquisa

Descrição

O Framework 7 permite pesquisar os elementos usando a classe searchbar .

Parâmetros da barra de pesquisa

S.Não Parâmetros e descrição Tipo Padrão
1

searchList

Ele pesquisa o seletor CSS ou elemento HTML da lista.

string ou elemento HTML -
2

searchIn

Você pode pesquisar os elementos de exibição de lista dos seletores CSS, também pesquisa os elementos passando as classes .item-title , .item-text .

corda '.título do item'
3

found

Ele pesquisa o seletor CSS ou elemento HTML usando o elemento "encontrado". Além disso, ele usa o elemento .searchbar-found se não houver nenhum elemento especificado.

string ou elemento HTML -
4

notfound

Ele pesquisa o seletor CSS ou elemento HTML usando o elemento "não encontrado". Além disso, ele usa o elemento .searchbar-not-found se não houver nenhum elemento especificado.

string ou elemento HTML -
5

overlay

Ele pesquisa o seletor CSS ou elemento HTML usando o elemento "searchbar overlay" e usa o elemento .searchbar-overlay , se nenhum elemento for especificado.

string ou elemento HTML -
6

ignore

Você pode ignorar o seletor CSS para itens usando a barra de pesquisa.

corda '.searchbar-ignore'
7

customSearch

Quando ativada, a barra de pesquisa não pesquisará nenhum dos blocos de lista especificados por searchList e você terá permissão para usar a funcionalidade de pesquisa personalizada.

boleano falso
8

removeDiacritics

Ao pesquisar um elemento, remova os sinais diacríticos habilitando este parâmetro.

boleano falso
9

hideDividers

Este parâmetro irá ocultar os divisores de itens e o título do grupo, se não houver itens.

boleano verdadeiro
10

hideGroups

Este parâmetro irá ocultar os grupos, se não houver itens encontrados nos grupos de visualização de lista.

boleano verdadeiro

Chamadas da barra de pesquisa

S.Não Chamadas de retorno e descrição Tipo Padrão
1

onSearch

Este método irá disparar a função de retorno de chamada ao fazer a pesquisa.

funções) -
2

onEnable

Este método irá disparar a função de retorno de chamada quando a Barra de Pesquisa se tornar ativa.

funções) -
3

onDisable

Este método irá disparar a função de retorno de chamada quando a barra de pesquisa se tornar inativa.

funções) -
4

onClear

Este método irá disparar a função de retorno de chamada quando você clicar no elemento "limpar".

funções) -

Propriedades da barra de pesquisa

S.Não Propriedades e descrição
1

mySearchbar.params

Representa os parâmetros inicializados passados ​​com o objeto.

2

mySearchbar.query

Pesquisa a consulta atual.

3

mySearchbar.searchList

Define o bloco da lista de pesquisa.

4

mySearchbar.container

Define o contêiner da barra de pesquisa com elemento HTML.

5

mySearchbar.input

Define a entrada da barra de pesquisa com elemento HTML.

6

mySearchbar.active

Ele define se a barra de pesquisa está habilitada ou desabilitada.

Métodos de barra de pesquisa

S.Não Métodos e Descrição
1

mySearchbar.search(query);

Este método pesquisa a consulta passada.

2

mySearchbar.enable();

Ele ativa a barra de pesquisa.

3

mySearchbar.disable();

Ele desativa a barra de pesquisa.

4

mySearchbar.clear();

Você pode limpar a consulta e os resultados da pesquisa.

5

mySearchbar.destroy();

Ele destrói a instância da barra de pesquisa.

Eventos de JavaScript da barra de pesquisa

S.Não Descrição do Evento Alvo
1

search

Você pode disparar este evento enquanto procura elementos.

<div class = "list-block">
2

clearSearch

Este evento será disparado quando o usuário clicar no elemento clearSearch.

<div class = "list-block">
3

enableSearch

Quando a barra de pesquisa for ativada, este evento será disparado.

<div class = "list-block">
4

disableSearch

Quando a barra de pesquisa é desabilitada e o usuário clica no botão cancelar ou no elemento "sobreposição de barra de pesquisa", este evento é disparado.

<div class = "list-block">

Exemplo

O exemplo a seguir demonstra o uso da barra de pesquisa na rolagem no 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>

Resultado

Vamos realizar as seguintes etapas para ver como funciona o código fornecido acima -

  • Salve o código HTML fornecido acima search_bar.html arquivo na pasta raiz do servidor.

  • Abra este arquivo HTML como http: //localhost/search_bar.html e a saída é exibida conforme mostrado abaixo.

  • Se o elemento contido na lista for inserido na barra de pesquisa, ele exibe esse elemento específico da lista.

  • Se o elemento diferente dos elementos contidos na lista for inserido, ele não exibe nenhum elemento encontrado.