Framework7 - 搜尋欄



描述

Framework 7 允許使用 searchbar 類搜尋元素。

搜尋欄引數

序號 引數 & 描述 型別 預設值
1

searchList

搜尋列表的 CSS 選擇器或 HTML 元素。

字串或 HTML 元素 -
2

searchIn

您可以搜尋 CSS 選擇器的列表檢視元素,也可以透過傳遞 .item-title.item-text 類來搜尋元素。

字串 '.item-title'
3

found

使用 "found" 元素搜尋 CSS 選擇器或 HTML 元素。如果未指定元素,則使用 .searchbar-found 元素。

字串或 HTML 元素 -
4

notfound

使用 "not-found" 元素搜尋 CSS 選擇器或 HTML 元素。如果未指定元素,則使用 .searchbar-not-found 元素。

字串或 HTML 元素 -
5

overlay

使用 "searchbar overlay" 元素搜尋 CSS 選擇器或 HTML 元素,如果未指定元素,則使用 .searchbar-overlay 元素。

字串或 HTML 元素 -
6

ignore

您可以使用搜索欄忽略專案的 CSS 選擇器。

字串 '.searchbar-ignore'
7

customSearch

啟用此選項後,搜尋欄將不會搜尋 searchList 指定的任何列表塊,您可以使用自定義搜尋功能。

布林值 false
8

removeDiacritics

搜尋元素時,啟用此引數以刪除變音符號。

布林值 false
9

hideDividers

如果列表中沒有專案,此引數將隱藏專案分隔符和分組標題。

布林值 true
10

hideGroups

如果列表檢視分組中沒有找到專案,此引數將隱藏分組。

布林值 true

搜尋欄回撥函式

序號 回撥函式 & 描述 型別 預設值
1

onSearch

搜尋期間將觸發此回撥函式。

function (s) -
2

onEnable

搜尋欄變為活動狀態時將觸發此回撥函式。

function (s) -
3

onDisable

搜尋欄變為非活動狀態時將觸發此回撥函式。

function (s) -
4

onClear

單擊“清除”元素時將觸發此回撥函式。

function (s) -

搜尋欄屬性

序號 屬性 & 描述
1

mySearchbar.params

表示使用物件傳遞的已初始化引數。

2

mySearchbar.query

搜尋當前查詢。

3

mySearchbar.searchList

定義搜尋列表塊。

4

mySearchbar.container

使用 HTML 元素定義搜尋欄容器。

5

mySearchbar.input

使用 HTML 元素定義搜尋欄輸入。

6

mySearchbar.active

定義搜尋欄是啟用還是停用。

搜尋欄方法

序號 方法 & 描述
1

mySearchbar.search(query);

此方法搜尋傳遞的查詢。

2

mySearchbar.enable();

啟用搜索欄。

3

mySearchbar.disable();

禁用搜索欄。

4

mySearchbar.clear();

您可以清除查詢和搜尋結果。

5

mySearchbar.destroy();

銷燬搜尋欄例項。

搜尋欄 JavaScript 事件

序號 事件 & 描述 目標
1

search

搜尋元素時可以觸發此事件。

<div class="list-block">
2

clearSearch

使用者單擊 clearSearch 元素時將觸發此事件。

<div class="list-block">
3

enableSearch

搜尋欄啟用時,將觸發此事件。

<div class="list-block">
4

disableSearch

搜尋欄停用,使用者單擊取消按鈕或“search bar-overlay”元素時,將觸發此事件。

<div class="list-block">

示例

以下示例演示了在 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>

輸出

讓我們執行以下步驟來檢視上面給出的程式碼是如何工作的:

  • 將上面給出的 HTML 程式碼儲存為search_bar.html檔案到您的伺服器根目錄。

  • 開啟此 HTML 檔案,地址為 https:///search_bar.html,輸出將如下所示。

  • 如果在搜尋欄中輸入列表中包含的元素,則會顯示列表中的該特定元素。

  • 如果輸入的元素不在列表中包含的元素中,則會顯示未找到元素。

廣告
© . All rights reserved.