摘要:最近碰到一個需求有一個頁面有三個認證這三個認證會變更就是說可能這期是認證認證就可以進行下一步但是下期就變成認證了需求希望針對這三個開關(guān)做成這樣開關(guān)開關(guān)開關(guān)都有三種狀態(tài)為必須做為選做一個為不做如果三個開關(guān)配置成那就代表開關(guān)開關(guān)都要做開關(guān)不用做
最近碰到一個需求,有一個頁面有三個認證,這三個認證會變更.就是說可能這期是認證A,認證B,就可以進行下一步.但是下期就變成B,認證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,則這個必須做).進入下一個頁面的條件就是,這三個開關(guān)必須按照配置項做了.
目前設(shè)計的方案為:
其中,A,B,C代表三個開關(guān),switch代表開關(guān)狀態(tài),flag代表開關(guān)是否完成.
代碼實現(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ù)組中有一個是可選,則可選標識choiceFlag置為false. switchSet.forEach(function (elem) { if (elem == 2) { choiceFlag = false; } }); //遍歷obj,查看obj中數(shù)據(jù),進行判斷是否顯示下一步. ["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); },
寫到這里,代碼實現(xiàn)的核心就完了.
翥于2017.9.13簡記
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/91748.html
摘要:代理模式代理模式為一個對象提供一個代用品或占位符,以便控制對于它訪問。這種代理就叫虛擬代理。保護代理用于對象應(yīng)該有不同訪問權(quán)限情況。寫時復(fù)制代理時虛擬代理的一種變體。 一、創(chuàng)建型設(shè)計模式(三大類設(shè)計模式) 創(chuàng)建型設(shè)計模式 --創(chuàng)建說明該類別里面的設(shè)計模式就是用來創(chuàng)建對象的,也就是在不同的場景下我們應(yīng)該選用什么樣的方式來創(chuàng)建對象。 1. 單例模式 ==單例模式(Singleton)==:...
摘要:文中涉及到的工具幕布插件番茄工作法助理原則原則是目標管理中的一種方法。作為職業(yè)發(fā)展規(guī)劃的目標來說,一般人最好是制定一個中期的目標,時間長短在半年至三年內(nèi)。所以這篇旨在分享我在做個人職業(yè)規(guī)劃中的一些心得體會方法論思想等。 2019/07/14 UPDATE 本周想分享一下之前閱讀過的一本書《堅持,一種可以養(yǎng)成的習(xí)慣》,這本書主要講的是如何去養(yǎng)成一個習(xí)慣,在本次的初期職業(yè)目標的學(xué)習(xí)計劃中,...
摘要:安裝完成后,在的左下角選擇創(chuàng)建項目,具體操作如下圖所示項目創(chuàng)建頁面會出現(xiàn)很多模板庫,如果只有兩個或者沒有模版,可以嘗試點擊左下角的刷新模板信息按鈕。 目錄 前言 正文 一、IoT Pi 開發(fā)板介紹 二、開發(fā)實戰(zhàn) 1. 連接設(shè)備 2. 搭建開發(fā)環(huán)境 3. 開始編碼 4. 編譯打包 5. 安裝應(yīng)...
摘要:而要實現(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),顧名思義,是物物相連。而要實現(xiàn)物...
閱讀 3838·2021-08-11 11:16
閱讀 1679·2019-08-30 15:44
閱讀 2044·2019-08-29 18:45
閱讀 2334·2019-08-26 18:18
閱讀 1104·2019-08-26 13:37
閱讀 1616·2019-08-26 11:43
閱讀 2182·2019-08-26 11:34
閱讀 430·2019-08-26 10:59