摘要:最近碰到一個需求有一個頁面有三個認(rèn)證這三個認(rèn)證會變更就是說可能這期是認(rèn)證認(rèn)證就可以進(jìn)行下一步但是下期就變成認(rèn)證了需求希望針對這三個開關(guān)做成這樣開關(guān)開關(guān)開關(guān)都有三種狀態(tài)為必須做為選做一個為不做如果三個開關(guān)配置成那就代表開關(guān)開關(guān)都要做開關(guān)不用做
最近碰到一個需求,有一個頁面有三個認(rèn)證,這三個認(rèn)證會變更.就是說可能這期是認(rèn)證A,認(rèn)證B,就可以進(jìn)行下一步.但是下期就變成B,認(rèn)證C了.需求希望針對這三個開關(guān)做成這樣,開關(guān)A,開關(guān)B,開關(guān)C,都有三種狀態(tài).1,2,3.1為必須做,2,為選做一個.3為不做.如果三個開關(guān)配置成:[1,2,3],那就代表開關(guān)A,開關(guān)B都要做,開關(guān)C不用做.(ps: 選擇做一個的是指,如果有兩個開關(guān)狀態(tài)都是2,則2選一,如果有3個開關(guān)狀態(tài)為2,則3選一.但是如果只有一個開關(guān)狀態(tài)為2,則這個必須做).進(jìn)入下一個頁面的條件就是,這三個開關(guān)必須按照配置項(xiàng)做了.
目前設(shè)計(jì)的方案為:
其中,A,B,C代表三個開關(guān),switch代表開關(guān)狀態(tài),flag代表開關(guān)是否完成.
代碼實(shí)現(xiàn):
checkField: function () { var flagSwitch = true, choiceFlag = true; //這里a,b,c是為了簡單命名的,在這里分別代表含義: 開關(guān)A,開關(guān)B,開關(guān)C //flag,含義: 是否已經(jīng)做了開關(guān)A,開關(guān)B,開關(guān)C.statusFlagA,statusFlagB, //statusFlagC,的取值可能性分別為1,0.(做或者沒做) //switch,含義: 開關(guān)獲取的結(jié)果.switchSet[0]代表開關(guān)A獲取的結(jié)果,switchSet[1]代表開關(guān)B獲取的結(jié)果,switchSet[2]代表開關(guān)C獲取的結(jié)果. //定義數(shù)據(jù)結(jié)構(gòu). var obj = { a: { flag: statusFlagA, switch: switchSet[0] }, b: { flag: statusFlagB, switch: switchSet[1] }, c: { flag: statusFlagC, switch: switchSet[2] } }; //如果開關(guān)數(shù)組中有一個是可選,則可選標(biāo)識choiceFlag置為false. switchSet.forEach(function (elem) { if (elem == 2) { choiceFlag = false; } }); //遍歷obj,查看obj中數(shù)據(jù),進(jìn)行判斷是否顯示下一步. ["a", "b", "c"].forEach(function (val) { if (obj[val].switch == 1) { if (!obj[val].flag) { flagSwitch = false; return false; } } else if (obj[val].switch == 2) { if (!choiceFlag && obj[val].flag == 1) { choiceFlag = true; } } }); return (flagSwitch && choiceFlag); },
寫到這里,代碼實(shí)現(xiàn)的核心就完了.
翥于2017.9.13簡記
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/91748.html
摘要:代理模式代理模式為一個對象提供一個代用品或占位符,以便控制對于它訪問。這種代理就叫虛擬代理。保護(hù)代理用于對象應(yīng)該有不同訪問權(quán)限情況。寫時復(fù)制代理時虛擬代理的一種變體。 一、創(chuàng)建型設(shè)計(jì)模式(三大類設(shè)計(jì)模式) 創(chuàng)建型設(shè)計(jì)模式 --創(chuàng)建說明該類別里面的設(shè)計(jì)模式就是用來創(chuàng)建對象的,也就是在不同的場景下我們應(yīng)該選用什么樣的方式來創(chuàng)建對象。 1. 單例模式 ==單例模式(Singleton)==:...
摘要:文中涉及到的工具幕布插件番茄工作法助理原則原則是目標(biāo)管理中的一種方法。作為職業(yè)發(fā)展規(guī)劃的目標(biāo)來說,一般人最好是制定一個中期的目標(biāo),時間長短在半年至三年內(nèi)。所以這篇旨在分享我在做個人職業(yè)規(guī)劃中的一些心得體會方法論思想等。 2019/07/14 UPDATE 本周想分享一下之前閱讀過的一本書《堅(jiān)持,一種可以養(yǎng)成的習(xí)慣》,這本書主要講的是如何去養(yǎng)成一個習(xí)慣,在本次的初期職業(yè)目標(biāo)的學(xué)習(xí)計(jì)劃中,...
摘要:安裝完成后,在的左下角選擇創(chuàng)建項(xiàng)目,具體操作如下圖所示項(xiàng)目創(chuàng)建頁面會出現(xiàn)很多模板庫,如果只有兩個或者沒有模版,可以嘗試點(diǎn)擊左下角的刷新模板信息按鈕。 目錄 前言 正文 一、IoT Pi 開發(fā)板介紹 二、開發(fā)實(shí)戰(zhàn) 1. 連接設(shè)備 2. 搭建開發(fā)環(huán)境 3. 開始編碼 4. 編譯打包 5. 安裝應(yīng)...
摘要:而要實(shí)現(xiàn)物物相連,一共有個階段性任務(wù),而這個階段性任務(wù),也伴隨著巨大的挑戰(zhàn)本文分享自華為云社區(qū)云駐共創(chuàng)以小窺大,從一盞路燈看億萬物聯(lián)網(wǎng)之路云駐共創(chuàng)以小窺大,從一盞路燈看億萬物聯(lián)網(wǎng)之路,作者啟明。 摘要:IoT, Internet of Things,物聯(lián)網(wǎng),顧名思義,是物物相連。而要實(shí)現(xiàn)物...
閱讀 3836·2021-08-11 11:16
閱讀 1677·2019-08-30 15:44
閱讀 2042·2019-08-29 18:45
閱讀 2333·2019-08-26 18:18
閱讀 1103·2019-08-26 13:37
閱讀 1614·2019-08-26 11:43
閱讀 2181·2019-08-26 11:34
閱讀 430·2019-08-26 10:59