微信小程序?qū)崿F(xiàn)分頁查詢詳解
日常小程序經(jīng)常需要分頁查詢的功能,本篇我們講解一下低代碼中如何實(shí)現(xiàn)分頁查詢的功能。要自己開發(fā)分頁功能,可以先參考官方的方法
分頁查詢我們一般是需要有入?yún)⒑统鰠?,入?yún)⒎謩e需要頁碼、每頁大小、排序字段名稱、排序方式、查詢條件。
出參分別需要記錄總條數(shù)、頁碼、每頁大小、記錄列表。
入?yún)⒑统鰠⒅乐?,那在哪寫代碼呢?像分頁這種功能一般屬于后端的能力,低碼工具中是在自定義連接器里寫后端代碼的。
創(chuàng)建自定義連接器
登錄低碼的控制臺,點(diǎn)擊新建自定義連接器
輸入名稱和標(biāo)識
點(diǎn)擊立即新建
輸入名稱和標(biāo)識,意圖選擇查詢列表,類型選擇自定義代碼
在界面中可以輸入代碼的部分就是我們編制后端邏輯代碼的編輯器,可以在里邊直接寫代碼。
云開發(fā)介紹
我們要實(shí)現(xiàn)后端代碼,其實(shí)是要符合云開發(fā)的語法,我們打開云開發(fā)的官方文檔,找到api部分
有個概念需要了解,就是collection。在文檔型數(shù)據(jù)庫里我們傳統(tǒng)數(shù)據(jù)庫的表對應(yīng)的是collection,那如何找到collection呢?
我們可以打開云開發(fā)cloudbase,然后進(jìn)入到我們的環(huán)境,找到數(shù)據(jù)庫
列表上就是各個集合。有了集合那要怎么寫代碼呢?這里可以參考微搭官方文檔的自定義代碼部分,復(fù)制其中的代碼進(jìn)入到自定義代碼編輯器中
module.exports = async function (params, context) { const result = await context.database.collection('lcap-data-1TSuH5tum-product_qnniu21-preview').get(); // 在這里返回這個方法的結(jié)果,需要與出參定義的結(jié)構(gòu)映射 return { records: result.data }; };
代碼寫好之后需要做方法測試,先需要增加一個入?yún)ⅲ黾雍笪覀兙涂梢钥吹綀?zhí)行的結(jié)果
分頁實(shí)現(xiàn)思路
要實(shí)現(xiàn)分頁,一共需要幾個字段,第一個是求得總記錄數(shù),總記錄數(shù)我們可以用count方法計(jì)算
module.exports = async function (params, context) { const result = await context.database.collection('lcap-data-1TSuH5tum-product_qnniu21-preview').get(); const total = await context.database.collection('lcap-data-1TSuH5tum-product_qnniu21-preview').count(); // 在這里返回這個方法的結(jié)果,需要與出參定義的結(jié)構(gòu)映射 return { total:total.total, records: result.data }; };
總的記錄數(shù)有了,我們每次返回的結(jié)果不是全部返回,需要按照當(dāng)前傳過來的頁碼和每頁顯示的條數(shù)去做過濾數(shù)據(jù)
module.exports = async function (params, context) { const result = await context.database.collection('lcap-data-1TSuH5tum-product_qnniu21-preview').skip(params.pageSize*(params.pageNo-1)).limit(params.pageSize).get(); const total = await context.database.collection('lcap-data-1TSuH5tum-product_qnniu21-preview').count(); // 在這里返回這個方法的結(jié)果,需要與出參定義的結(jié)構(gòu)映射 return { total:total.total, records: result.data }; };
一切做好之后就可以點(diǎn)擊出參映射,來自動映射出參
使用連接器
分頁方法做好之后一般是需要在應(yīng)用中使用,一種是可以在變量中直接使用
另外一種是可以在數(shù)據(jù)列表中綁定
為什么要自定義分頁功能
官方生成的分頁方法只能實(shí)現(xiàn)單表業(yè)務(wù),而實(shí)際業(yè)務(wù)中我們經(jīng)常需要拆分表,但是在多表查詢的場景中又需要展示數(shù)據(jù),這個時候就必須自己實(shí)現(xiàn)分頁邏輯。下篇我們講解一下多表分頁查詢?nèi)绾螌?shí)現(xiàn),敬請期待。
到此這篇關(guān)于微信小程序?qū)崿F(xiàn)分頁查詢詳解的文章就介紹到這了,更多相關(guān)小程序分頁查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js對象實(shí)現(xiàn)數(shù)據(jù)分頁效果
這篇文章主要為大家詳細(xì)介紹了js對象實(shí)現(xiàn)數(shù)據(jù)分頁效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09jstree中的checkbox默認(rèn)選中和隱藏示例代碼
這篇文章主要介紹了jstree的checkbox默認(rèn)選中和隱藏,需要的朋友可以參考下2019-12-12基于JavaScript實(shí)現(xiàn)手機(jī)短信按鈕倒計(jì)時(超簡單)
在淘寶等購物網(wǎng)站,我們都會看到一個發(fā)送短信倒計(jì)時的按鈕,究竟是如何實(shí)現(xiàn)的呢?下面小編通過本篇文章給大家分享一段代碼關(guān)于js實(shí)現(xiàn)手機(jī)短信按鈕倒計(jì)時,需要的朋友參考下2015-12-12JavaScript中Object和Function的關(guān)系小結(jié)
JavaScript 中 Object 和 Function 的關(guān)系是微妙的,他們互為對方的一個實(shí)例。2009-09-09JS中showModalDialog關(guān)閉子窗口刷新主窗口用法詳解
這篇文章主要介紹了JS中showModalDialog關(guān)閉子窗口刷新主窗口用法,結(jié)合具體實(shí)例形式較為詳細(xì)的分析了showModalDialog常見用法與相關(guān)使用技巧,需要的朋友可以參考下2017-03-03微信小程序?qū)崙?zhàn)之上拉(分頁加載)效果(2)
這篇文章主要介紹了微信小程序?qū)崙?zhàn)之上拉加載、分頁加載效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04javascript獲取文檔坐標(biāo)和視口坐標(biāo)
制作網(wǎng)頁的過程中,你有時候需要知道某個元素在網(wǎng)頁上的確切位置。下面的教程總結(jié)了Javascript在網(wǎng)頁定位方面的相關(guān)知識。有需要的小伙伴可以參考下。2015-05-05利用Js的console對象,在控制臺打印調(diào)式信息測試Js的實(shí)現(xiàn)
下面小編就為大家?guī)硪黄肑s的console對象,在控制臺打印調(diào)式信息測試Js的實(shí)現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11