Framework7 - Thanh tìm kiếm

Sự miêu tả

Framework 7 cho phép tìm kiếm các phần tử bằng cách sử dụng lớp thanh tìm kiếm .

Tham số thanh tìm kiếm

S. không Thông số & Mô tả Kiểu Mặc định
1

searchList

Nó tìm kiếm bộ chọn CSS hoặc phần tử HTML của danh sách.

chuỗi hoặc Phần tử HTML -
2

searchIn

Bạn có thể tìm kiếm các phần tử dạng xem danh sách của các bộ chọn CSS, cũng có thể tìm kiếm các phần tử bằng cách chuyển các lớp .item-title , .item-text .

chuỗi '.danh mục'
3

found

Nó tìm kiếm bộ chọn CSS hoặc phần tử HTML bằng phần tử "found". Hơn nữa, nó sử dụng phần tử tìm thấy .searchbar nếu không có phần tử nào được chỉ định.

chuỗi hoặc Phần tử HTML -
4

notfound

Nó tìm kiếm bộ chọn CSS hoặc phần tử HTML bằng phần tử "không tìm thấy". Hơn nữa, nó sử dụng phần tử .searchbar-not-found nếu không có phần tử nào được chỉ định.

chuỗi hoặc Phần tử HTML -
5

overlay

Nó tìm kiếm bộ chọn CSS hoặc phần tử HTML bằng cách sử dụng phần tử "lớp phủ thanh tìm kiếm" và sử dụng phần tử .searchbar-overlay , nếu không có phần tử nào được chỉ định.

chuỗi hoặc Phần tử HTML -
6

ignore

Bạn có thể bỏ qua bộ chọn CSS cho các mục bằng cách sử dụng thanh tìm kiếm.

chuỗi '.searchbar-ignore'
7

customSearch

Khi nó được bật, thanh tìm kiếm sẽ không tìm kiếm qua bất kỳ khối danh sách nào được searchList chỉ định và bạn sẽ được phép sử dụng chức năng tìm kiếm tùy chỉnh.

boolean sai
số 8

removeDiacritics

Khi tìm kiếm một phần tử, hãy loại bỏ các dấu phụ bằng cách bật tham số này.

boolean sai
9

hideDividers

Tham số này sẽ ẩn các ngăn chia mục và tiêu đề nhóm, nếu không có mục nào.

boolean thật
10

hideGroups

Tham số này sẽ ẩn các nhóm, nếu không có mục nào được tìm thấy trong nhóm chế độ xem danh sách.

boolean thật

Lệnh gọi lại của thanh tìm kiếm

S. không Gọi lại & Mô tả Kiểu Mặc định
1

onSearch

Phương thức này sẽ kích hoạt hàm gọi lại trong khi thực hiện tìm kiếm.

chức năng) -
2

onEnable

Phương thức này sẽ kích hoạt chức năng gọi lại khi Thanh tìm kiếm hoạt động.

chức năng) -
3

onDisable

Phương thức này sẽ kích hoạt chức năng gọi lại khi Thanh tìm kiếm không hoạt động.

chức năng) -
4

onClear

Phương thức này sẽ kích hoạt hàm gọi lại khi bạn nhấp vào phần tử "xóa".

chức năng) -

Thuộc tính thanh tìm kiếm

S. không Thuộc tính & Mô tả
1

mySearchbar.params

Đại diện cho các tham số khởi tạo được truyền với đối tượng.

2

mySearchbar.query

Tìm kiếm truy vấn hiện tại.

3

mySearchbar.searchList

Xác định khối danh sách tìm kiếm.

4

mySearchbar.container

Xác định vùng chứa thanh tìm kiếm với phần tử HTML.

5

mySearchbar.input

Xác định đầu vào thanh tìm kiếm với phần tử HTML.

6

mySearchbar.active

Nó xác định xem thanh tìm kiếm được bật hay tắt.

Phương pháp thanh tìm kiếm

S. không Phương pháp & Mô tả
1

mySearchbar.search(query);

Phương pháp này tìm kiếm truy vấn đã chuyển.

2

mySearchbar.enable();

Nó bật thanh tìm kiếm.

3

mySearchbar.disable();

Nó vô hiệu hóa thanh tìm kiếm.

4

mySearchbar.clear();

Bạn có thể xóa truy vấn và kết quả tìm kiếm.

5

mySearchbar.destroy();

Nó phá hủy phiên bản thanh tìm kiếm.

Sự kiện JavaScript trên thanh tìm kiếm

S. không Sự kiện & Mô tả Mục tiêu
1

search

Bạn có thể kích hoạt sự kiện này trong khi tìm kiếm các phần tử.

<div class = "list-block">
2

clearSearch

Sự kiện này sẽ được kích hoạt khi người dùng nhấp vào phần tử clearSearch.

<div class = "list-block">
3

enableSearch

Khi Thanh tìm kiếm được bật, sự kiện này sẽ được kích hoạt.

<div class = "list-block">
4

disableSearch

Khi Thanh tìm kiếm bị tắt và người dùng nhấp vào nút hủy hoặc phần tử "lớp phủ thanh tìm kiếm", sự kiện này sẽ được kích hoạt.

<div class = "list-block">

Thí dụ

Ví dụ sau minh họa việc sử dụng thanh tìm kiếm khi cuộn trong 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>

Đầu ra

Hãy để chúng tôi thực hiện các bước sau để xem mã đã cho ở trên hoạt động như thế nào -

  • Lưu mã HTML đã cho ở trên search_bar.html tệp trong thư mục gốc máy chủ của bạn.

  • Mở tệp HTML này dưới dạng http: //localhost/search_bar.html và kết quả được hiển thị như hình dưới đây.

  • Nếu phần tử có trong danh sách được nhập vào thanh tìm kiếm, nó sẽ hiển thị phần tử cụ thể đó từ danh sách.

  • Nếu phần tử khác với các phần tử có trong danh sách được nhập, nó sẽ hiển thị không tìm thấy phần tử nào.