Jadual Kandungan
Persediaan pembangunan
Paparan kesan
Persediaan awal
dilaksanakan
Sambungan
Kod sumber
Ringkasan
Rumah applet WeChat Pembangunan program mini Penjelasan mendalam tentang cara melaksanakan fungsi carian dalam program mini

Penjelasan mendalam tentang cara melaksanakan fungsi carian dalam program mini

Sep 06, 2021 pm 07:25 PM
Program mini Fungsi carian

Bagaimana untuk melaksanakan fungsi carian biasa program mini? Artikel berikut akan membawa anda langkah demi langkah untuk memahami kaedah melaksanakan fungsi carian dalam program mini Saya harap ia akan membantu anda!

Penjelasan mendalam tentang cara melaksanakan fungsi carian dalam program mini

Dalam proses pembangunan setiap program kecil, ia pada asasnya dilengkapi dengan fungsi carian Jadi bagaimanakah fungsi carian yang agak pintar itu dilaksanakan? belajar, saya telah mempelajari fungsi kotak carian yang agak komprehensif. Mari kita lihat!

Penjelasan mendalam tentang cara melaksanakan fungsi carian dalam program mini

Persediaan pembangunan

Paparan kesan

Mari kita lihat kesannya dahulu

Penjelasan mendalam tentang cara melaksanakan fungsi carian dalam program mini

Persediaan awal

Import beberapa data ke dalam pangkalan data awan untuk menguji fungsi Bingkai carian

Penjelasan mendalam tentang cara melaksanakan fungsi carian dalam program mini

dilaksanakan

Cipta tiga halaman baharu di bawah direktori

indeks digunakan sebagai Halaman pertama kotak carian

carian ialah halaman yang digunakan untuk carian tertentu

hotsearch ialah halaman terperinci bagi kandungan carian

Pertama sekali, mari kita lihat reka letak indeks pada halaman pertama kotak carian Di sini kami memperkenalkan kandungan kotak carian yang lain di bawah tidak akan diterangkan di sini.

Penjelasan mendalam tentang cara melaksanakan fungsi carian dalam program mini

Ini ialah kod index.wxml

      <view class="search_1" bindtap="gotoSearch">
          <van-search 
          placeholder="搜索单品" disabled
          />
        </view>
      <view class="search_2">
        <view class="pic" bindtap="list" >
          <image src=""></image>
        </view>
      </view>
    </view>
Salin selepas log masuk

Penjelasan mendalam tentang cara melaksanakan fungsi carian dalam program mini

Ini ialah carian Kod .wxml kotak carian

  <view class="dewu-search">
    <view class="return" >
      <view class="return_pic" bindtap="gotoindex">
        <image ></image>
      </view>
      <view class="txt">搜索</view>
    </view>
  </view>
  <van-search 
      value="{{value}}" 
      show-action 
      placeholder="输入商品名称、货号"
      bind:clear="onClear" 
      bind:search="onSearch"   
      bind:cancel="oncancel" 
      bind:change="onchange"
      bindtap="input"
      value="{{value}}"
    />
    <block wx:if="results.length > 0">
      <van-cell wx:for="{{results}}" wx:key="_id" title="{{item.title}}"  size="large"  />
    </block>
    <view class="page1" hidden="{{issuggest==true?&#39;hidden&#39;:&#39;&#39;}}" >
        <view class="bd">
          <view class="content">热门搜索</view>
          <view class="box">
            <view class="items">
              <view class="item" wx:for="{{goods}}"
              wx:key="index"  bindtap="hotsearch" data-id="{{item.id}}"
              >
              {{item.hot}}
              </view>
            </view>
          </view>
        </view>
        <view class="last">
          <view class="content">搜索历史</view>
          <view class="box">
            <view class="items">
              <view class="item" wx:for="{{historyList}}" wx:key="index" data-id="{{item.id}}" bindtap="gotohistoryList"
              wx:key="index">
                {{item.hot}}
              </view>
            </view>
          </view>
        </view>
    </view>
    <view class="page2"   hidden="{{issuggest==false?&#39;hidden&#39;:&#39;&#39;}}">
      <view class="content1">
        <view class="title" wx:for="{{goods1}}" data-id="{{item.id}}"
              wx:key="index"  bindtap="hotsearch" >
              {{item.hot}}
        </view>
      </view>
    </view>
</view>
Salin selepas log masuk

js mesti diperkenalkan dahulu Data dalam pangkalan data awan

    const db = wx.cloud.database();
    const dewuCollection = db.collection(&#39;dewu&#39;);
Salin selepas log masuk

Untuk muncul kandungan yang berkaitan apabila kotak input berubah, dua halaman diperlukan . Apabila terdapat input kandungan dalam kotak input, halaman tersembunyi dipaparkanhidden="{{issuggest==false?&#39;hidden&#39;:&#39;&#39;}}"Untuk menentukan sama ada halaman kandungan yang berkaitan harus muncul, Gunakan indexOf untuk menentukan sama ada e.detail (kandungan kotak input) wujud dalam pangkalan data awan Jika ia wujud, kemudian simpan data ini dalam tatasusunan dan sambung tatasusunan yang dicari sebelum ini, kemudian gunakan wx.setStorageSync();Simpan. data dalam kotak input ke dalam storan, dan kemudian wx.getStorageSync() mengekstrak data.

Ini ialah halaman butiran yang akan muncul apabila terdapat data dalam kotak input Klik untuk melompat ke halaman butiran produk

Penjelasan mendalam tentang cara melaksanakan fungsi carian dalam program mini

Ini adalah. kotak carian Logik

    if(e.detail.length!=0){
        this.setData({
          issuggest:true,
        })
        var arr = [];
        console.log(this.data.goods.length);
            for (var i = 0; i < this.data.goods.length; i++) {
              if (this.data.goods[i].hot.indexOf(e.detail)>=0) {
                arr.push(this.data.goods[i]);
              }
              this.setData({
              goods1:arr,
           })
          }
    }
    else {
      console.log(&#39;succes&#39;);
      this.setData({
         issuggest:false
      })
    }
  },
    async onSearch(e){
    var arr1=new Array();
    var historyList=new Array();
    var storage=new Array();
    for (let i = 0; i < this.data.goods.length; i++){
      if(e.detail==this.data.goods[i].hot){
        arr1.push(this.data.goods[i]);
        console.log(arr1);
        break
      }
      else{
              arr1.push(e.detail);
              console.log(arr1);
        }
    }
    if(arr1.length>1){
      this.setData({
        storage:arr1.slice(arr1.length-1,arr1.length)
      })
    }
    else{
      console.log(arr1,&#39;要存进去的数据&#39;);
      this.setData({
        storage:arr1
      })
    }
    if(this.data.historyList !=[]){
      this.data.historyList = this.data.historyList.concat(this.data.storage);//连接
    }
    else{
      this.data.historyList=this.data.storage
    }
   wx.setStorageSync(&#39;historyList&#39;, this.data.historyList);
   this.setData({
    historyList:this.data.historyList
  })
  },
Salin selepas log masuk

Penjelasan mendalam tentang cara melaksanakan fungsi carian dalam program mini

wx.navigateTo boleh digunakan untuk melompat ke halaman terperinci, menambah templat rentetan, menentukan nilai id, menggunakan data untuk memacu halaman, lompat Pergi ke halaman yang sama dengan data yang berbeza.

wx.navigateTo({
      url: `../hotsearch/hotsearch?id=`+id
    })
Salin selepas log masuk

Akhir sekali, data perlu dikemas kini

     wx.showLoading({
       title: &#39;数据加载中...&#39;,
     })   
     setTimeout(()=>{
      wx.hideLoading()
       this.setData({
          goodsNav: nav,
          goodsList:List,
          recommend:List,
          goods2:this.data.historyList
       })
      },1000)
// console.log(goodsList,&#39;===========&#39;);
   },
Salin selepas log masuk

Berhati-hati jangan lupa untuk memperkenalkan alamat komponen yang perlu anda gunakan dalam json global atau halaman tempatan json

    "usingComponents": {
        "van-search":"./miniprogram_npm/@vant/weapp/search/index"
  },
Salin selepas log masuk

Sambungan

Fungsi melompat secara automatik ke tengah bar navigasi ini juga sangat biasa

Penjelasan mendalam tentang cara melaksanakan fungsi carian dalam program mini

Ini adalah perkara paling penting tentang kod wxml Ya scroll-x="true" membolehkan bar navigasi meluncur dalam arah mendatar scroll-with-animation="true" membolehkan gelongsor bernyawa scroll-into-view="{{scrollTop}}"

      <scroll-view  scroll-x="true"
                 scroll-with-animation="true"
                 style="width:100%;" class="scroll-view_H " 
                 scroll-into-view="{{scrollTop}}">
        <view 
        wx:for="{{goodsNav}}"
        wx:key="index"
        id="{{item.id}}"
        data-index="{{index}}"
        data-type="{{item.type}}"
        bindtap="changegoods"
        class="scroll-view-item_H {{activeNavIndex == index?&#39;active&#39;: &#39;&#39;}}  "
        >
          <text>{{item.text}}</text>
        </view>
      </scroll-view>
    </view>
Salin selepas log masuk

Ini peristiwa yang terikat pada bar navigasi let {index, type} = e.currentTarget.dataset; diekstrak untuk mengindeks dan menaip, kemudian tetapkan kiraan sebagai beberapa yang pertama, kemudian sambungkannya kepada id, hantarkan nilai id kepada scrollTop dan biarkan bar navigasi melompat ke nilai scrollTop, iaitu nilai di tengah

     console.log(e);
    let {index, type} = e.currentTarget.dataset;
    console.log("index=" +index, "type="+type);
    this.setData({
      activeNavIndex:index
    })
    if (type == &#39;recommend&#39;) {
      this.setData({
        goodsList: this.data.recommend
      })
    } 
    else {
        let goods = this.data.recommend.filter((good) => good.camptype == type )
        this.setData({
          goodsList: goods
        })
        //console.log(this.data.goods)
      }
    
      var index1 = e.currentTarget.dataset.index;
      var count = 2;
      var id = "item"+(index1-count);//拼接id
      if(count == 2 && index1 < 3 || count == 3 && index1 < 2 || count == 4 && index1 < 3){
        id = "item0";
      }
      console.log("下标",index1,"---分类id名称",id)
      this.setData({
        scrollTop: id
      })
    },
Salin selepas log masuk

Dengan cara ini, kesannya boleh dicapai dengan menambah wxss Walau bagaimanapun, terdapat masalah dengan menulis seperti ini, iaitu, apabila kandungan yang dipaparkan adalah nombor genap, seperti 6, ia tidak boleh melompat ke tengah dengan betul, dan akan melompat ke kedudukan 3, yang akan menyebabkan sedikit penyelewengan. . Saya masih belum menyelesaikan masalah ini, saya tertanya-tanya adakah sesiapa tahu bagaimana untuk menyelesaikan masalah ini?

Kod sumber

Berikut ialah kod sumber lengkap projek tersebut. Jika anda berminat, anda boleh menyemak kod sumber yang lengkap

https: //gitee.com/xinccc/fullstack_huoshan/tree/master/wxapp/dewu

Ringkasan

Ini adalah kali pertama saya menulis projek yang sedikit lengkap Di sini saya memperkenalkan kesukaran utama yang saya hadapi semasa proses pembangunan, Ini bermakna a banyak kepada saya. Pengalaman sebegitu menyedarkan saya bahawa masih banyak yang perlu saya pelajari. Saya juga berterima kasih kepada guru-guru dan rakan-rakan sekelas yang membantu saya ketika saya mengalami kesulitan Jika anda rasa artikel ini sampai kepada anda titik, anda mungkin juga memberi saya suka, yang akan menjadi galakan yang besar kepada saya Jika anda mempunyai sebarang nasihat, saya harap kita boleh berbincang dan belajar bersama di ruangan komen.

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Pengenalan kepada Pengaturcaraan! !

Atas ialah kandungan terperinci Penjelasan mendalam tentang cara melaksanakan fungsi carian dalam program mini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bangunkan applet WeChat menggunakan Python Bangunkan applet WeChat menggunakan Python Jun 17, 2023 pm 06:34 PM

Dengan populariti teknologi Internet mudah alih dan telefon pintar, WeChat telah menjadi aplikasi yang sangat diperlukan dalam kehidupan orang ramai. Program mini WeChat membenarkan orang ramai menggunakan program mini secara langsung untuk menyelesaikan beberapa keperluan mudah tanpa memuat turun dan memasang aplikasi. Artikel ini akan memperkenalkan cara menggunakan Python untuk membangunkan applet WeChat. 1. Persediaan Sebelum menggunakan Python untuk membangunkan applet WeChat, anda perlu memasang perpustakaan Python yang berkaitan. Adalah disyorkan untuk menggunakan dua perpustakaan wxpy dan itchat di sini. wxpy ialah mesin WeChat

Laksanakan kesan flip kad dalam program mini WeChat Laksanakan kesan flip kad dalam program mini WeChat Nov 21, 2023 am 10:55 AM

Melaksanakan kesan flipping kad dalam program mini WeChat Dalam program mini WeChat, melaksanakan kesan flipping kad ialah kesan animasi biasa yang boleh meningkatkan pengalaman pengguna dan daya tarikan interaksi antara muka. Yang berikut akan memperkenalkan secara terperinci cara melaksanakan kesan khas flipping kad dalam applet WeChat dan memberikan contoh kod yang berkaitan. Pertama, anda perlu menentukan dua elemen kad dalam fail susun atur halaman program mini, satu untuk memaparkan kandungan hadapan dan satu untuk memaparkan kandungan belakang Kod sampel khusus adalah seperti berikut: &lt;!--index.wxml-. -&gt;&l

Alipay melancarkan program mini 'Chinese Character Picking-Rare Characters' untuk mengumpul dan menambah pustaka aksara yang jarang ditemui Alipay melancarkan program mini 'Chinese Character Picking-Rare Characters' untuk mengumpul dan menambah pustaka aksara yang jarang ditemui Oct 31, 2023 pm 09:25 PM

Menurut berita dari laman web ini pada 31 Oktober, pada 27 Mei tahun ini, Ant Group mengumumkan pelancaran "Projek Pemilihan Watak Cina", dan baru-baru ini membawa kemajuan baharu: Alipay melancarkan program mini "Pemilihan Watak Cina-Watak Biasa" untuk mengumpul koleksi daripada masyarakat Watak nadir menambah pustaka aksara jarang dan memberikan pengalaman input yang berbeza untuk aksara jarang untuk membantu memperbaik kaedah input aksara jarang dalam Alipay. Pada masa ini, pengguna boleh memasukkan applet "Watak Tidak Biasa" dengan mencari kata kunci seperti "Pengambilan aksara Cina" dan "aksara jarang". Dalam program mini, pengguna boleh menghantar gambar aksara jarang yang belum dikenali dan dimasukkan oleh sistem Selepas pengesahan, jurutera Alipay akan membuat entri tambahan ke dalam perpustakaan fon. Laman web ini mendapati bahawa pengguna juga boleh mengalami kaedah input pemisahan perkataan terkini dalam program mini Kaedah input ini direka untuk perkataan yang jarang dengan sebutan yang tidak jelas. Pembongkaran pengguna

Cara uniapp mencapai penukaran pantas antara program mini dan H5 Cara uniapp mencapai penukaran pantas antara program mini dan H5 Oct 20, 2023 pm 02:12 PM

Bagaimana uniapp boleh mencapai penukaran pantas antara program mini dan H5 memerlukan contoh kod khusus Dalam beberapa tahun kebelakangan ini, dengan perkembangan Internet mudah alih dan populariti telefon pintar, program mini dan H5 telah menjadi bentuk aplikasi yang sangat diperlukan. Sebagai rangka kerja pembangunan merentas platform, uniapp boleh dengan cepat merealisasikan penukaran antara program kecil dan H5 berdasarkan set kod, meningkatkan kecekapan pembangunan. Artikel ini akan memperkenalkan cara uniapp boleh mencapai penukaran pantas antara program mini dan H5, dan memberikan contoh kod khusus. 1. Pengenalan kepada uniapp unia

HTML, CSS dan jQuery: Buat jadual data dengan fungsi carian HTML, CSS dan jQuery: Buat jadual data dengan fungsi carian Oct 26, 2023 am 10:03 AM

HTML, CSS dan jQuery: Buat jadual data dengan fungsi carian Dalam pembangunan web moden, jadual data ialah elemen yang kerap digunakan. Untuk memudahkan pengguna mencari dan menapis data, menambah fungsi carian pada jadual data telah menjadi fungsi penting. Artikel ini akan memperkenalkan cara menggunakan HTML, CSS dan jQuery untuk mencipta jadual data dengan fungsi carian, dan menyediakan contoh kod khusus. 1. Struktur HTML Pertama, kita perlu mencipta struktur HTML asas untuk menampung jadual data

php Elasticsearch: Bagaimana untuk menggunakan pemetaan dinamik untuk mencapai fungsi carian yang fleksibel? php Elasticsearch: Bagaimana untuk menggunakan pemetaan dinamik untuk mencapai fungsi carian yang fleksibel? Sep 13, 2023 am 10:21 AM

PHPElasticsearch: Bagaimana untuk menggunakan pemetaan dinamik untuk mencapai keupayaan carian yang fleksibel? Pengenalan: Fungsi carian adalah bahagian penting dalam membangunkan aplikasi moden. Elasticsearch ialah enjin carian dan analisis berkuasa yang menyediakan fungsi yang kaya dan pemodelan data yang fleksibel. Dalam artikel ini, kami akan menumpukan pada cara menggunakan pemetaan dinamik untuk mencapai keupayaan carian yang fleksibel. 1. Pengenalan kepada pemetaan dinamik Dalam Elasticsearch, pemetaan (mapp

Bagaimana untuk membangunkan keupayaan carian yang berkuasa menggunakan PHP dan Carian Manticore Bagaimana untuk membangunkan keupayaan carian yang berkuasa menggunakan PHP dan Carian Manticore Aug 06, 2023 am 10:13 AM

Gambaran keseluruhan tentang cara membangunkan fungsi carian yang berkuasa menggunakan PHP dan ManticoreSearch: Fungsi carian memainkan peranan penting dalam pembangunan aplikasi moden. Untuk mencapai keupayaan carian yang cekap dan tepat, adalah penting untuk menggunakan enjin carian yang sesuai. ManticoreSearch ialah enjin carian teks penuh berkuasa yang menyediakan keupayaan carian berprestasi tinggi dan berskala. Artikel ini akan memperkenalkan cara menggunakan PHP dan ManticoreSearch untuk membangunkan fungsi carian yang berkuasa dan

Bagaimana untuk mengendalikan pendaftaran program mini Bagaimana untuk mengendalikan pendaftaran program mini Sep 13, 2023 pm 04:36 PM

Langkah-langkah operasi pendaftaran program mini: 1. Sediakan salinan kad pengenalan peribadi, lesen perniagaan korporat, kad pengenalan orang sah dan bahan pemfailan lain 2. Log masuk ke latar belakang pengurusan program mini 3. Masukkan halaman tetapan program mini; Pilih " "Basic Settings"; 5. Isikan maklumat pemfailan; 6. Muat naik bahan pemfailan; 7. Hantar permohonan pemfailan; 8. Tunggu keputusan semakan. Jika pemfailan tidak lulus, buat pengubahsuaian berdasarkan alasan dan serahkan semula permohonan pemfailan; 9. Operasi susulan bagi pemfailan ialah Can.

See all articles