摘要:截止到目前,小程序還未提供良好的功能。在開發(fā)的時(shí)候,自己做了一個(gè)簡(jiǎn)單的實(shí)現(xiàn)。實(shí)現(xiàn)獲取數(shù)據(jù)后,只展現(xiàn)標(biāo)題,把詳情隱藏起來。這一步僅僅給原始數(shù)據(jù)增加了屬性,數(shù)據(jù)得到改變,但頁面并不會(huì)顯示效果,就是不生效,內(nèi)容沒被隱藏。
截止到目前(2017-5-19),小程序還未提供良好的toggle功能。在開發(fā)的時(shí)候,自己做了一個(gè)簡(jiǎn)單的實(shí)現(xiàn)。其中還遇到了一些其他的小麻煩,這里與大家探討:
情景:從遠(yuǎn)端獲取數(shù)據(jù),在小程序界面展現(xiàn)標(biāo)題列表,點(diǎn)擊標(biāo)題查看詳情。
實(shí)現(xiàn)
1):獲取數(shù)據(jù)后,只展現(xiàn)標(biāo)題,把詳情隱藏起來。顯然這里需要增加一個(gè)開關(guān),標(biāo)題增加一個(gè)點(diǎn)擊事件,控制詳情展現(xiàn):
`運(yùn)單編號(hào):{{logistics.sn}} `,`這里是內(nèi)容什么的----- `;
2):這個(gè)開關(guān)變量不是遠(yuǎn)程數(shù)據(jù)logisticsList里面就有的,需要我們自己添加。logisticsList是一個(gè)包含若干對(duì)象的數(shù)組,每個(gè)對(duì)象就是我們要展示的數(shù)據(jù),包括標(biāo)題,具體內(nèi)容之類的?,F(xiàn)在給每個(gè)對(duì)象添加toggle開關(guān)。
`
that.data.logisticsList.forEach(function(item){ item.toggle = false })`
,這里的‘that’是什么?隨便一個(gè)onShow或者onLoad函數(shù)里面的‘this’,--- var that = this;(這里可以直接用this,因?yàn)橛袝r(shí)會(huì)用到回調(diào)函數(shù),所以一貫習(xí)慣用that代替this)。這一步僅僅給原始數(shù)據(jù)增加了屬性,數(shù)據(jù)得到改變,但頁面并不會(huì)顯示效果,就是toggle不生效,內(nèi)容沒被隱藏。所以還需一步:
`that.setData({ logisticsList: that.data.logisticsList })`;
3):好了,現(xiàn)在頁面就有標(biāo)題了。來實(shí)現(xiàn)我們的點(diǎn)擊函數(shù)---logToggle,參數(shù)是寒磣的index。改變這個(gè)數(shù)組中某個(gè)對(duì)象的toggle屬性,例如:logisticsList[0].toggle = false/true。然而,那個(gè)中括號(hào)里面的是變化的所以只好構(gòu)造一個(gè)變化的字符串咯:
(相信這個(gè)肯定是坑住了一部分人,得到啟發(fā)的還不趕緊點(diǎn)贊?。。。?br>"logisticsList[" + index + "].toggle",
`
logToggle:function(e){ let index = e.currentTarget.dataset.index, nowToggle = this.data.logisticsList[index].toggle; this.setData({ ["logisticsList[" + index + "].toggle"]: !nowToggle }) }`;
細(xì)心的同志會(huì)發(fā)現(xiàn)setData()函數(shù)里面?zhèn)鬟f的參數(shù)其實(shí)是一個(gè)對(duì)象{},所以你完全可以在外部構(gòu)造一個(gè)對(duì)象塞進(jìn)去:`
logToggle:function(e){ //構(gòu)造一個(gè)對(duì)象:param;設(shè)置要改變的參數(shù):str;賦值 = let param = {}; let index = e.currentTarget.dataset.index, nowToggle = this.data.logisticsList[index].toggle, str = "logisticsList[" + index +"].toggle"; param[str] = !nowToggle; this.setData(param) } `。
4):測(cè)試結(jié)果:兩種方法都可用,樓主選用構(gòu)造對(duì)象(為避免受到520朋友圈的沖擊,勉強(qiáng)做個(gè)防御)!
5):本次分享缺憾是沒有動(dòng)畫,閃現(xiàn)不友好。
結(jié)語:點(diǎn)擊事件實(shí)現(xiàn)隱藏展現(xiàn)的實(shí)現(xiàn)方法極多,比如你可以做一個(gè)彈窗展示細(xì)節(jié),點(diǎn)擊彈窗隱藏則隱藏。方法多多,看需求構(gòu)造。各位大神,小將的這次分享就到這里,歡迎指正!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/83086.html
摘要:同理,你只要知道改變狀態(tài)能夠?qū)崿F(xiàn)要的功能,大體上的原理就是狀態(tài)機(jī)就可以了??偨Y(jié),本文重點(diǎn)狀態(tài)機(jī)模式的使用場(chǎng)景,復(fù)雜多狀態(tài)的管理,這里注意你沒必要寫個(gè)選項(xiàng)卡之類的用狀態(tài)機(jī),那反而是給自己找麻煩。 大家在寫App和一些單頁面程序的時(shí)候,經(jīng)常會(huì)遇到這樣的情況:showImg(https://segmentfault.com/img/bVbsNaA?w=240&h=427);當(dāng)點(diǎn)擊左邊的箭頭的...
摘要:先來一波硬廣我的博客歡迎觀光傳送門這個(gè)小應(yīng)用使用創(chuàng)建演示地址,地址。這是之前的的版,之前的演示,改寫自的課程。 React-Redux-Appointment 先來一波硬廣:我的博客歡迎觀光:傳送門這個(gè)小應(yīng)用使用Create React App創(chuàng)建,演示地址:https://liliang-cn.github.io/react_redux_appointment,repo地址:http...
摘要:在寫移動(dòng)端導(dǎo)航的時(shí)候經(jīng)常用到點(diǎn)擊按鈕出現(xiàn)隱藏導(dǎo)航條的情況,最常見的方法當(dāng)然還是前端框架直接調(diào)用,省心省力,不易出錯(cuò)當(dāng)然還有使用純實(shí)現(xiàn)的小代碼段。另外使用作為選擇器僅為了兼容更低版本的在寫移動(dòng)端導(dǎo)航的時(shí)候經(jīng)常用到點(diǎn)擊按鈕出現(xiàn)/隱藏導(dǎo)航條的情況,最常見的方法當(dāng)然還是前端框架直接調(diào)用,省心省力,不易出錯(cuò);當(dāng)然還有使用純JS實(shí)現(xiàn)的小代碼段。我這里整理了純CSS實(shí)現(xiàn)方式,給需要的人和給自己做個(gè)筆記: ...
摘要:但是我們又要實(shí)現(xiàn),連續(xù)點(diǎn)擊兩次同一個(gè)按鈕時(shí),這個(gè)一級(jí)菜單有效果,如果像上面那樣把恢復(fù)初始值,就不能實(shí)現(xiàn)效果。這時(shí)的兩個(gè)數(shù)組的完全獨(dú)立的。 創(chuàng)建一個(gè)公用的導(dǎo)航navBar組件,讓它可以在所有頁面使用,比如在index.wxml,引用navBar組件,方法如下 1.在需要引用組件的頁面中的json中定義這個(gè)組件 //index.json { usingComponents: { ...
摘要:大家可以嘗試使用的,配置一個(gè)合適的勁度系數(shù)和空氣阻力。所做的事,只不過自己實(shí)現(xiàn)了一套緩動(dòng)函數(shù)。 根據(jù)經(jīng)典力學(xué)的觀點(diǎn),世界上所有的原子每時(shí)每刻仿佛都會(huì)根據(jù)當(dāng)前速度、受力和位置計(jì)算出下一刻的速度、受力和位置。上帝有一臺(tái)超級(jí)計(jì)算機(jī)嗎?非也,反而計(jì)算機(jī)是我們利用原子的這些特性拼裝出來的?,F(xiàn)在,我們卻要用計(jì)算機(jī),像上帝那樣,再造一個(gè)世界。 我不知道這個(gè)世界上有沒有仿世學(xué),但是既然動(dòng)畫是要模仿現(xiàn)實(shí)...
閱讀 1553·2023-04-26 01:36
閱讀 2719·2021-10-08 10:05
閱讀 2775·2021-08-05 09:57
閱讀 1538·2019-08-30 15:52
閱讀 1193·2019-08-30 14:12
閱讀 1311·2019-08-30 11:17
閱讀 3097·2019-08-29 13:07
閱讀 2415·2019-08-29 12:35