Jadual Kandungan
Pengikatan kandungan carian
Menyahpepijat
Pengikatan Data
Padanan rekod pangkalan data
Hasil carian
内容页面优化
无数据组件
试图部分
组件样式
组件参数
展示效果
总结
Rumah applet WeChat Pembangunan program mini Ajar anda langkah demi langkah bagaimana untuk melaksanakan fungsi carian kandungan dalam program mini

Ajar anda langkah demi langkah bagaimana untuk melaksanakan fungsi carian kandungan dalam program mini

Nov 16, 2021 pm 07:03 PM
Carian kandungan Program mini

Artikel ini akan berkongsi dengan anda pengalaman praktikal dalam pembangunan program mini dan memperkenalkan cara melaksanakan fungsi carian kandungan dalam program mini Saya harap ia akan membantu semua orang!

Ajar anda langkah demi langkah bagaimana untuk melaksanakan fungsi carian kandungan dalam program mini

Sebelum ini kami melaksanakan paparan senarai kandungan halaman utama, tetapi tidak melaksanakan fungsi sebenar kotak carian di bahagian atas Dalam artikel ini, kami akan menambah yang sebenar cari ke kotak carian Fungsi. [Cadangan pembelajaran berkaitan: Tutorial pembangunan program mini]

Pengikatan kandungan carian

Mari kita lihat rupanya selepas kita mengklik pada kotak carian sekarang

Ajar anda langkah demi langkah bagaimana untuk melaksanakan fungsi carian kandungan dalam program mini

Di sini, kami menggunakan komponen search vant, dan dokumennya memperkenalkan satu siri kaedah mengikat peristiwa untuk komponen ini.

Ajar anda langkah demi langkah bagaimana untuk melaksanakan fungsi carian kandungan dalam program mini

Apa yang kami mahu gunakan ialah mencetuskan carian kandungan sebenar apabila carian ditentukan, jadi kami menambah pengikatan acara ini pada komponen search seperti berikut

Ajar anda langkah demi langkah bagaimana untuk melaksanakan fungsi carian kandungan dalam program mini

Seterusnya, kami mencetak pembolehubah nilai yang terikat pada komponen carian dalam pelaksanaan tindak balas acara carian, dan kemudian melaksanakan ujian input.

handleSearch() {
    const { searchValue } = this.data
    console.log('搜索内容', searchValue)
}
Salin selepas log masuk

Perlu diingatkan di sini bahawa dalam alat pembangun, untuk komponen seperti kotak input, kerana ia berada di sebelah komputer, ia tidak boleh membangkitkan antara muka kaedah input yang serupa dengan pada telefon mudah alih, jadi interaksi dengan telefon bimbit menggunakan kecil Realiti program adalah berbeza.

Dalam kes ini, kita boleh menggunakan fungsi pratonton untuk nyahpepijat pada telefon mudah alih Selepas membuka program mini pada telefon mudah alih, anda boleh mengklik ... di penjuru kanan sebelah atas untuk memaparkan panel nyahpepijat. untuk melihat output konsol.

Atau gunakan fungsi 真机调试 yang disediakan oleh alat pembangun untuk pratonton program mini pada telefon mudah alih anda dan melihat maklumat penyahpepijatan dalam masa nyata dalam alatan pembangun pada komputer.

Menyahpepijat

Selepas menyahpepijat, kami mendapati bahawa search terikat kepada value hanya akan berubah dan disimpan dalam searchValue selepas input pertama, dan nilai yang dimasukkan kemudian tidak akan mengemas kini pembolehubah ini, yang bermaksud bahawa kami tidak boleh menggunakan kandungan yang dimasukkan terkini untuk setiap carian, yang merupakan masalah.

Pengikatan Data

Penyelesaiannya juga sangat mudah, iaitu, gunakan ciri pengikatan data yang disertakan bersama program mini untuk mengikat search yang diluluskan dalam komponen Atribut 🎜> ditukar kepada value untuk membolehkan pengikatan data dua hala. model:value

Dengan cara ini, selepas kemas kini input seterusnya, nilai

akan dikemas kini pada masa yang sama untuk mencapai kesan pengubahsuaian segerak. searchValue

Ajar anda langkah demi langkah bagaimana untuk melaksanakan fungsi carian kandungan dalam program mini

Pertanyaan bersyarat

Kemudian kita boleh memasukkan kandungan dalam kotak carian setiap kali, dan kita boleh menggunakan ini sebagai kata kunci untuk menanyakan kandungan senarai . Peraturan

adalah untuk mencari rekod yang mengandungi kata kunci carian kami dalam

daripada semua rekod dalam pangkalan data Sudah tentu, hanya 20 rekod akan dikembalikan pada satu masa, dan pemuatan tarik naik juga boleh disokong . text

Malah, kaedah di sini pada asasnya sama dengan kaedah pertanyaan data sebelumnya. Ia hanya menambah syarat padanan kata kunci pada asas asal.

Ajar anda langkah demi langkah bagaimana untuk melaksanakan fungsi carian kandungan dalam program mini

Kami menambahkan kandungan carian sebagai parameter kepada kaedah yang asalnya digunakan untuk menyegarkan keseluruhan kandungan senarai dan menyampaikannya secara telus kepada kaedah pemprosesan fungsi awan yang digunakan untuk benar-benar menanyakan data. Pada masa yang sama, setiap kali kotak carian mengesahkan carian, ia dinilai sama ada terdapat kandungan carian, dan jika ya, data itu diperoleh semula.

Padanan rekod pangkalan data

Seterusnya, kita juga perlu membuat perubahan yang sepadan pada pengekstrakan data pangkalan data dalam fungsi awan Rekod pangkalan data akan digunakan di sini

Kaedah untuk memadankan kandungan carian untuk butiran, sila rujuk 正则匹配dokumen rasmi

Logik teras selepas transformasi adalah seperti berikut

const db = cloud.database()
const collection = db.collection('homeContentList')

let searchPromise
let countPromise

try {
  if (content) {
    const searchReg = db.RegExp({
      regexp: content,
      options: 'i'
    })
    searchPromise = collection.where({
      text: searchReg
    })
    .skip(pageNo).limit(pageSize).get()
    countPromise = collection.where({
      text: searchReg
    })
    .count()
  } else {
    searchPromise = collection.skip(pageNo).limit(pageSize).get()
    countPromise = collection.count()
  }
  const [{ data: listData }, { total }] = await Promise.all([searchPromise, countPromise])
  if (listData) {
    data = listData
  }
  totalSize = total
} catch (error) {
  console.log('error', error)
}
Salin selepas log masuk
Kami membezakan mengikut sama ada terdapat kandungan carian sama ada untuk melakukan pemadanan biasa dalam proses menyoal data, dan mengabaikan huruf besar kandungan carian apabila terdapat kandungan carian, untuk memadankan sebanyak mungkin kandungan.

Hasil carian

Ajar anda langkah demi langkah bagaimana untuk melaksanakan fungsi carian kandungan dalam program mini

Dengan cara ini, kami boleh menanyakan kandungan carian.

内容页面优化

最后,我们优化一下首页的展示效果。

无数据组件

很多页面都有可能是数据列表的形式,而其各自在加载完所有数据后需要展示在底部的“没有更多内容”字样可能不同,所以我们将这部分展示封装成一个可供复用的自定义组件。

试图部分

<view class="wrap">
  <text class="text">{{text}}</text>
</view>
Salin selepas log masuk

组件样式

.wrap {
  width: 100%;
  padding: 20rpx 0 40rpx;
  text-align: center;
}
.text {
  color: #999;
  font-size: 26rpx;
  line-height: 30rpx;
}
Salin selepas log masuk

组件参数

Component({
  properties: {
    text: {
      type: String,
      value: &#39;没有更多内容了&#39;
    }
  }
})
Salin selepas log masuk

展示效果

Ajar anda langkah demi langkah bagaimana untuk melaksanakan fungsi carian kandungan dalam program mini

总结

这篇,我们实现了搜索框功能,将搜索框中输入的内容作为搜索关键字,从而在数据库中查找包含关键字的记录进行展示。另外,我们还将“没有更多内容”封装可供复用的组件。

更多编程相关知识,请访问:编程入门!!

Atas ialah kandungan terperinci Ajar anda langkah demi langkah bagaimana untuk melaksanakan fungsi carian kandungan 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

Tag artikel 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

Bangunkan applet WeChat menggunakan Python

Bolehkah program kecil menggunakan tindak balas? Bolehkah program kecil menggunakan tindak balas? Dec 29, 2022 am 11:06 AM

Bolehkah program kecil menggunakan tindak balas?

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

Laksanakan kesan flip kad dalam program mini WeChat

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

Cara uniapp mencapai penukaran pantas antara program mini dan H5

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

Bagaimana untuk mengendalikan pendaftaran program mini

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

Alipay melancarkan program mini 'Chinese Character Picking-Rare Characters' untuk mengumpul dan menambah pustaka aksara yang jarang ditemui

Tutorial menulis program sembang mudah dalam Python Tutorial menulis program sembang mudah dalam Python May 08, 2023 pm 06:37 PM

Tutorial menulis program sembang mudah dalam Python

Pengenalan kepada pembangunan applet WeChat dalam bahasa Java Pengenalan kepada pembangunan applet WeChat dalam bahasa Java Jun 09, 2023 pm 10:40 PM

Pengenalan kepada pembangunan applet WeChat dalam bahasa Java

See all articles