- Framework7 教程
- Framework7 - 首頁
- Framework7 - 概述
- Framework7 - 環境
- Framework7 元件
- Framework7 - 佈局
- Framework7 - 導航欄
- Framework7 - 工具欄
- Framework7 - 搜尋欄
- Framework7 - 狀態列
- Framework7 - 側邊欄
- Framework7 - 內容塊
- Framework7 - 佈局網格
- Framework7 - 覆蓋層
- Framework7 - 預載入器
- Framework7 - 進度條
- Framework7 - 列表檢視
- Framework7 - 手風琴
- Framework7 - 卡片
- Framework7 - 晶片
- Framework7 - 按鈕
- Framework7 - 操作按鈕
- Framework7 - 表單
- Framework7 - 標籤頁
- Framework7 - Swiper 滑塊
- Framework7 - 圖片瀏覽器
- Framework7 - 自動完成
- Framework7 - 選擇器
- Framework7 - 日曆
- Framework7 - 重新整理
- Framework7 - 無限滾動
- Framework7 - 訊息
- Framework7 - 訊息欄
- Framework7 - 通知
- Framework7 - 懶載入
- Framework7 樣式
- Framework7 - 顏色主題
- Framework7 - 分隔線
- Framework7 模板
- Framework7 - 模板概述
- Framework7 - 自動編譯
- Framework7 - Template7 頁面
- Framework7 快速點選
- Framework7 - 活動狀態
- Framework7 - 長按事件
- Framework7 - 觸控漣漪
- Framework7 有用資源
- Framework7 - 快速指南
- Framework7 - 有用資源
- Framework7 - 討論
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,輸出將如下所示。
如果在搜尋欄中輸入列表中包含的元素,則會顯示列表中的該特定元素。
如果輸入的元素不在列表中包含的元素中,則會顯示未找到元素。