Framework7 - แถบค้นหา

คำอธิบาย

กรอบ 7 ช่วยให้การค้นหาองค์ประกอบโดยใช้searchbarระดับ

พารามิเตอร์แถบค้นหา

ส. เลขที่ พารามิเตอร์และคำอธิบาย ประเภท ค่าเริ่มต้น
1

searchList

ค้นหาตัวเลือก CSS หรือองค์ประกอบ HTML ของรายการ

สตริงหรือองค์ประกอบ HTML -
2

searchIn

คุณสามารถค้นหาองค์ประกอบมุมมองรายการของตัวเลือก CSS และค้นหาองค์ประกอบโดยส่งคลาส. item-title , .item-text

สตริง ".item-title"
3

found

มันค้นหาตัวเลือก CSS หรือองค์ประกอบ HTML โดยใช้องค์ประกอบ "พบ" นอกจากนี้ยังใช้องค์ประกอบที่พบ. แถบค้นหาหากไม่มีองค์ประกอบที่ระบุ

สตริงหรือองค์ประกอบ HTML -
4

notfound

มันค้นหาตัวเลือก CSS หรือองค์ประกอบ HTML โดยใช้องค์ประกอบ "ไม่พบ" นอกจากนี้ยังใช้องค์ประกอบ. searchbar-not-foundหากไม่มีการระบุองค์ประกอบ

สตริงหรือองค์ประกอบ HTML -
5

overlay

มันค้นหาตัวเลือก CSS หรือองค์ประกอบ HTML โดยใช้องค์ประกอบ "การวางซ้อนแถบค้นหา" และใช้องค์ประกอบ. Searchbar-overlayหากไม่มีการระบุองค์ประกอบ

สตริงหรือองค์ประกอบ HTML -
6

ignore

คุณสามารถละเว้นตัวเลือก CSS สำหรับรายการได้โดยใช้แถบค้นหา

สตริง ".searchbar- ละเว้น"
7

customSearch

เมื่อเปิดใช้งานแถบค้นหาจะไม่ค้นหาผ่านบล็อกรายการใด ๆ ซึ่งระบุโดยsearchListและคุณจะได้รับอนุญาตให้ใช้ฟังก์ชันการค้นหาแบบกำหนดเอง

บูลีน เท็จ
8

removeDiacritics

เมื่อค้นหาองค์ประกอบให้ลบตัวกำกับเสียงโดยเปิดใช้งานพารามิเตอร์นี้

บูลีน เท็จ
9

hideDividers

พารามิเตอร์นี้จะซ่อนตัวแบ่งรายการและชื่อกลุ่มหากไม่มีรายการ

บูลีน จริง
10

hideGroups

พารามิเตอร์นี้จะซ่อนกลุ่มหากไม่พบรายการในกลุ่มมุมมองรายการ

บูลีน จริง

การโทรกลับของแถบค้นหา

ส. เลขที่ การโทรกลับและคำอธิบาย ประเภท ค่าเริ่มต้น
1

onSearch

วิธีนี้จะเริ่มการทำงานของฟังก์ชันโทรกลับขณะทำการค้นหา

ฟังก์ชั่น) -
2

onEnable

วิธีนี้จะเริ่มการทำงานของฟังก์ชันโทรกลับเมื่อ Search Bar ทำงาน

ฟังก์ชั่น) -
3

onDisable

วิธีนี้จะเริ่มการทำงานของฟังก์ชันโทรกลับเมื่อ Search Bar ไม่ทำงาน

ฟังก์ชั่น) -
4

onClear

วิธีนี้จะเริ่มการทำงานของฟังก์ชันโทรกลับเมื่อคุณคลิกที่องค์ประกอบ "ล้าง"

ฟังก์ชั่น) -

คุณสมบัติแถบค้นหา

ส. เลขที่ คุณสมบัติและคำอธิบาย
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

เมื่อแถบค้นหาถูกปิดใช้งานและผู้ใช้คลิกที่ปุ่มยกเลิกหรือองค์ประกอบ "การวางซ้อนแถบการค้นหา" เหตุการณ์นี้จะเริ่มทำงาน

<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 นี้เป็น http: //localhost/search_bar.html และผลลัพธ์จะแสดงดังที่แสดงด้านล่าง

  • หากมีการป้อนองค์ประกอบที่มีอยู่ในรายการในแถบค้นหาองค์ประกอบนั้นจะแสดงองค์ประกอบนั้นจากรายการ

  • หากป้อนองค์ประกอบอื่นนอกเหนือจากองค์ประกอบที่มีอยู่ในรายการองค์ประกอบนั้นจะไม่พบองค์ประกอบ