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.