


Ajar anda langkah demi langkah bagaimana untuk melaksanakan fungsi carian kandungan dalam program mini
Nov 16, 2021 pm 07:03 PMArtikel 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!
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
Di sini, kami menggunakan komponen search
vant, dan dokumennya memperkenalkan satu siri kaedah mengikat peristiwa untuk komponen ini.
Apa yang kami mahu gunakan ialah mencetuskan carian kandungan sebenar apabila carian ditentukan, jadi kami menambah pengikatan acara ini pada komponen search
seperti berikut
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) }
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
akan dikemas kini pada masa yang sama untuk mencapai kesan pengubahsuaian segerak. searchValue
daripada semua rekod dalam pangkalan data Sudah tentu, hanya 20 rekod akan dikembalikan pada satu masa, dan pemuatan tarik naik juga boleh disokong . text
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
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) }
Hasil carian
内容页面优化
最后,我们优化一下首页的展示效果。
无数据组件
很多页面都有可能是数据列表的形式,而其各自在加载完所有数据后需要展示在底部的“没有更多内容”字样可能不同,所以我们将这部分展示封装成一个可供复用的自定义组件。
试图部分
<view class="wrap"> <text class="text">{{text}}</text> </view>
组件样式
.wrap { width: 100%; padding: 20rpx 0 40rpx; text-align: center; } .text { color: #999; font-size: 26rpx; line-height: 30rpx; }
组件参数
Component({ properties: { text: { type: String, value: '没有更多内容了' } } })
展示效果
总结
这篇,我们实现了搜索框功能,将搜索框中输入的内容作为搜索关键字,从而在数据库中查找包含关键字的记录进行展示。另外,我们还将“没有更多内容”封装可供复用的组件。
更多编程相关知识,请访问:编程入门!!
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!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bangunkan applet WeChat menggunakan Python

Bolehkah program kecil menggunakan tindak balas?

Laksanakan kesan flip kad dalam program mini WeChat

Cara uniapp mencapai penukaran pantas antara program mini dan H5

Bagaimana untuk mengendalikan pendaftaran program mini

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

Pengenalan kepada pembangunan applet WeChat dalam bahasa Java
