摘要:前言是現(xiàn)在用的非常火熱的一個(gè)前端框架,表單又是網(wǎng)站基本不會(huì)缺少的一環(huán)。畢竟不可能直接發(fā)送請(qǐng)求,讓后端判斷,再返回成功與否嘛但是現(xiàn)在如果是用的話,實(shí)現(xiàn)這個(gè)效果會(huì)很簡(jiǎn)單,效果也會(huì)比使用或者原生操作要好。
1.前言
vue.js是現(xiàn)在用的非常火熱的一個(gè)前端框架,表單又是網(wǎng)站基本不會(huì)缺少的一環(huán)。用vue操作表單。表單的操作方式也是多種多樣。今天我說的,就是我項(xiàng)目那里做的這一種操作。
如上圖,用戶進(jìn)入這個(gè)頁(yè)面,但是必填的信息沒有填的話,則按鈕不能點(diǎn)擊。這個(gè)之前還是用jquery的時(shí)候,就是通過用戶每一次完成輸入(文本框失去焦點(diǎn))進(jìn)行一次判斷,如果必填的填完了,就可以讓用戶點(diǎn)擊,否則就不能點(diǎn)擊。畢竟不可能直接發(fā)送請(qǐng)求,讓后端判斷,再返回成功與否嘛!
但是現(xiàn)在如果是用vue的話,實(shí)現(xiàn)這個(gè)效果會(huì)很簡(jiǎn)單,效果也會(huì)比使用jquery或者原生JavaScript操作Dom要好。怎么做呢,下面說!
頁(yè)面就是想上面那樣,那個(gè)頁(yè)面的排版和項(xiàng)目的搭建我就不多說了。直接進(jìn)入正題!
頁(yè)面的html代碼就是這樣
看到頁(yè)面,我們知道,會(huì)有這幾個(gè)data數(shù)據(jù)(用戶名,用戶電話和公司名稱),下面產(chǎn)品那一塊,
這一塊肯定是動(dòng)態(tài)的,比如,點(diǎn)擊了增加按鈕,就增加一行的需求
點(diǎn)擊,就少一行需求
每一行產(chǎn)品都有一個(gè)產(chǎn)品名稱和數(shù)量,又是動(dòng)態(tài)的,那么這么產(chǎn)品這個(gè)數(shù)據(jù),就肯定是一個(gè)對(duì)象數(shù)組,那么data數(shù)據(jù)就如下面這樣!
如下圖,數(shù)據(jù)就弄好了!(用戶名-userName,用戶電話-userPhone,公司名稱-corpName,產(chǎn)品-productList,里面的proName就是產(chǎn)品名稱,num對(duì)應(yīng)產(chǎn)品數(shù)量)
最后就是計(jì)算屬性了,這個(gè)相當(dāng)?shù)暮?jiǎn)單,就是判斷,data里面的那幾個(gè)數(shù)據(jù)是否為空而已。productList判斷就是稍微復(fù)雜一點(diǎn)而已,不過也就是productList長(zhǎng)度也不能為空,就是至少要添加一條數(shù)據(jù)。然后遍歷數(shù)組的每一項(xiàng),判斷每一項(xiàng)的proName和num是否為空而已。寫法就如下面。(ps:遍歷的時(shí)候,用迭代方法會(huì)更好,只是我當(dāng)時(shí)做項(xiàng)目的時(shí)候還沒有寫迭代方法的習(xí)慣,還是用for居多,迭代方法的寫法,可以參考我之前發(fā)的文章-迭代方法)
這樣寫,直接完成了一個(gè)快捷功能,比如下面這里填完了,就可以提交了
但是,如果用戶又想增加一個(gè)產(chǎn)品呢!這下按鈕就是主動(dòng)變成不可點(diǎn)擊的狀態(tài),
如果刪除了新添加的一行產(chǎn)品就又可以點(diǎn)擊了!
如果是以前用原生js或者jquery寫的話,就比較麻煩了。最后,點(diǎn)擊增加和刪除一行產(chǎn)品這個(gè)的實(shí)現(xiàn)就不多說了,無非就是一個(gè)對(duì)productList的unshift和splice的操作。
今天這個(gè)是很簡(jiǎn)單的一個(gè)應(yīng)用,希望這個(gè)能幫到大家,我也是希望大家擴(kuò)展想象下應(yīng)用的場(chǎng)景,把開發(fā)技巧和水平都提升一個(gè)等級(jí)。
關(guān)于vue的寫作技巧還有很多,今天這個(gè)只是比較簡(jiǎn)單,比較基礎(chǔ)的一個(gè)。以后有發(fā)現(xiàn)的話,會(huì)繼續(xù)分享給大家,另外如果覺得我哪里有改善的地方,歡迎指出!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/83576.html
寫在前面 當(dāng)大多數(shù)人Vue理解的爐火純青的時(shí)候,你應(yīng)該思考怎么讓vue頁(yè)面騷氣起來,下面就我個(gè)人在接觸Vue兩年的時(shí)間里,在實(shí)際工作中門戶網(wǎng)站在前端頁(yè)面交互應(yīng)用和技巧,炒幾道小菜給大家分享一哈,我把它封裝成一個(gè)項(xiàng)目vue-portal-webUI(github源碼),不敢說是UI,但也是各種常見常遇到的情景吧,看懂代碼需要一些vue、axios、es6、scss基礎(chǔ)、數(shù)據(jù)基本上是mock,功能和場(chǎng)...
摘要:它每一行代碼都凝結(jié)著我從深坑中跳出來之后的思考,是下文介紹了所有問題和場(chǎng)景的解決方案。在版本推出了新的,這也是所官方推薦的一種跨傳遞數(shù)據(jù)的解決方案。 干貨高能預(yù)警,此文章信息量巨大,大部分內(nèi)容為對(duì)現(xiàn)狀問題的思考和現(xiàn)有技術(shù)的論證。 感興趣的朋友可以先收藏,然后慢慢研讀。此文凝結(jié)了我在中臺(tái)領(lǐng)域所有的思考和探索,相信讀完此文,能夠讓你對(duì)中臺(tái)領(lǐng)域的常見業(yè)務(wù)場(chǎng)景和解決方法有著全新的認(rèn)知。 此文轉(zhuǎn)載請(qǐng)...
摘要:在第一版的基礎(chǔ)上進(jìn)行了優(yōu)化,新增一些面試題知識(shí)點(diǎn),對(duì)一些知識(shí)點(diǎn)進(jìn)行更加深入的描述。可以在該鉤子中進(jìn)一步地更改狀態(tài),不會(huì)觸發(fā)附加的重渲染過程。改變中的狀態(tài)的唯一途徑就是顯式地提交。這兩個(gè)可以在不進(jìn)行刷新的情況下,操作瀏覽器的歷史紀(jì)錄。 在第一版的基礎(chǔ)上進(jìn)行了優(yōu)化,新增一些面試題/知識(shí)點(diǎn),對(duì)一些知識(shí)點(diǎn)進(jìn)行更加深入的描述。 一、對(duì)于MVVM的理解? MVVM 是 Model-View-Vie...
摘要:柵格系統(tǒng)用于處理頁(yè)面多終端適配的問題。它表示抓取對(duì)象以后拖放到另一個(gè)位置。目前,它是標(biāo)準(zhǔn)的一部分。精簡(jiǎn)高效的命名準(zhǔn)則方法這篇文章發(fā)布于年月日,星期日,,歸類于相關(guān)。但是不會(huì)受到包含塊的限制,可能會(huì)溢出。 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個(gè)問題:怎樣通過 CSS 簡(jiǎn)單而優(yōu)雅的實(shí)現(xiàn)水平、垂直同時(shí)居中。記得剛開始學(xué)習(xí) CSS 的時(shí)候,看到 float 屬性不由...
摘要:前言本文主要是有關(guān)前端方面知識(shí)按照目前的認(rèn)知進(jìn)行的收集歸類概括和整理,涵蓋前端理論與前端實(shí)踐兩方面。 前言:本文主要是有關(guān)前端方面知識(shí)按照 XX 目前的認(rèn)知進(jìn)行的收集、歸類、概括和整理,涵蓋『前端理論』與『前端實(shí)踐』兩方面。本文會(huì)告訴你前端需要了解的知識(shí)大致有什么,看上去有很多,但具體你要學(xué)什么,還是要 follow your heart & follow your BOSS。 初衷...
閱讀 1000·2023-04-25 14:20
閱讀 1876·2021-11-24 10:20
閱讀 3774·2021-11-11 16:55
閱讀 2919·2021-10-14 09:42
閱讀 3472·2019-08-30 15:56
閱讀 1164·2019-08-30 15:55
閱讀 1072·2019-08-30 15:44
閱讀 782·2019-08-29 11:28