最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue增刪改查的簡單操作

 更新時間:2017年07月15日 11:33:36   作者:純簡的小屋  
這篇文章主要為大家詳細(xì)介紹了vue增刪改查的簡單操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文為大家分享了vue增刪改查的簡單操作,供大家參考,具體內(nèi)容如下

我們把這些用戶信息保存到list的數(shù)組中,然后增刪改查就在這個數(shù)組上進(jìn)行:

list: [
  {
    username: 'aaaaa',
    email: '123@qq.com',
    sex: '男',
    province: '北京市',
    hobby: ['籃球', '讀書', '編程']
  },
  {
    username: 'bbbbb',
    email: 'bbbbbbb@163.com',
    sex: '女',
    province: '河北省',
    hobby: ['彈琴', '讀書', '插畫']
  }
  // ...
]

這里面的表單有:文本輸入框,單選按鈕,select選擇框,復(fù)選框等。

1. 展示數(shù)據(jù)

我們的數(shù)據(jù)都放在數(shù)組list中,但是這里并不直接對list對循環(huán)輸出,而是先把list中的數(shù)據(jù)給一個數(shù)組slist,對slist進(jìn)行循環(huán)輸出。因為我們在后面的查詢功能中需要對數(shù)據(jù)進(jìn)行過濾,數(shù)組list一直保存著原始數(shù)據(jù)(包括新增、修改后或已刪除后),而數(shù)組slist只負(fù)責(zé)展示。

在vue中提供一個setSlist方法,將需要展示的數(shù)據(jù)給了數(shù)組slist:

// 獲取需要渲染到頁面中的數(shù)據(jù)
setSlist(arr) {
  this.slist = JSON.parse(JSON.stringify(arr));
}

然后在html中使用v-for把slist數(shù)組渲染出來:

<tr v-cloak v-for="(item, index) of slist">
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td><a href="javascript:;" @click="showOverlay(index)">修改</a> | <a href="javascript:;" @click="del(index)">刪除</a></td>
</tr>

在操作這一欄中,給修改和刪除操作綁定上事件。

2. 增加和刪除功能 

把增加功能和刪除合并到一起,是這兩個功能相對來說都比較簡單。

增加用戶時使用push方法,把用戶的信息添加到list數(shù)組的最后:

this.list.push({
  username: 'ffff',
  email: 'fffffff@163.com',
  sex: '女',
  province: '河南省',
  hobby: ['彈琴', '插畫']
});

這樣就能添加一位ffff的用戶了。

刪除用戶時,通過splice(index, 1),可以刪除index位置的數(shù)據(jù),頁面上的數(shù)據(jù)自動就會更新。

3. 修改功能

假設(shè)我們彈層里的數(shù)據(jù)是selectedlist,那么每次修改時,把index位置的數(shù)據(jù)給了selectedlist,然后在彈層中修改selectedlist。我們也能看到修改數(shù)據(jù)的類型: 文本框(用戶名,郵箱),單選按鈕(性別),select選擇框(所在省份),多選框(愛好),這里我們主要練習(xí)的是表單處理(https://cn.vuejs.org/v2/guide/forms.html)。彈層是否顯示用變量isActive來控制:

// 修改數(shù)據(jù)
modifyData(index) {
  this.selected = index; // 修改的位置
  this.selectedlist = this.list[index];
  this.isActive = true;
}

有沒有發(fā)現(xiàn)一個問題,當(dāng)修改彈層中的信息時,表格中的數(shù)據(jù)也同步更新了??墒俏覀儽旧硎窍M?dāng)點擊保存按鈕時,才把彈層中的數(shù)據(jù)保存到表格里。問題的根源就出在這里:

this.selectedlist = this.list[index];

因為list[index]是個Object類型的數(shù)據(jù),若使用=賦值,則賦值操作為淺度拷貝(把數(shù)據(jù)的地址賦值給對應(yīng)變量,而沒有把具體的數(shù)據(jù)復(fù)制給變量,變量會隨數(shù)據(jù)值的變化而變化),selectedlist與list[index]使用相同的數(shù)據(jù)地址,互相引起數(shù)據(jù)值的變化。因此這里我們需要進(jìn)行深度拷貝:

this.selectedlist = JSON.parse( JSON.stringify(this.list[index]) ); // 先轉(zhuǎn)換為字符串,然后再轉(zhuǎn)換

當(dāng)用戶修改數(shù)據(jù)后,selectedlist就會發(fā)生變化,點擊保存按鈕時,將數(shù)據(jù)重新保存到index位置:

/*
 this.list 數(shù)據(jù)數(shù)組
 this.selected 剛才修改的位置
 this.selectedlist 需要保存的數(shù)據(jù)
*/
Vue.set(this.list, this.selected, this.selectedlist);

4. 查詢功能

在第1小節(jié)中我們已經(jīng)說過,在頁面表格中展示的是slist中的數(shù)據(jù),就是為了方便執(zhí)行查詢操作:

// 獲取需要渲染到頁面中的數(shù)據(jù)
setSlist(arr) {
  this.slist = JSON.parse(JSON.stringify(arr));
}

每次根據(jù)某些條件將過濾后的數(shù)據(jù)賦值給slist數(shù)組,展示出查詢后的數(shù)據(jù)。這里我們的查詢實現(xiàn)了兩個小功能:

1、用戶在輸入某個字符后,自動在輸入框下方用列表展示出用戶可能要查詢的詞語(如用戶名等)
2、同步更新表格中的數(shù)據(jù)

這里我們通過用戶名和郵箱進(jìn)行查詢,因此在過濾數(shù)據(jù)時,需要檢測用戶名和郵箱是否含有查詢的單詞。我們先給輸入框綁定一個input事件,同時用datalist展示用戶可能要查詢的詞語:

<input type="text" placeholder="search" @input="search" list="cars" class="search">
<datalist id="cars">
  <option v-for="item in searchlist" :value="item"></option>
</datalist>

search功能的實現(xiàn),searchlist為在輸入框下方展示的可能要搜索的詞語,ss數(shù)組則保存過濾后的數(shù)據(jù),當(dāng)循環(huán)完畢后,設(shè)置調(diào)用setSlist方法修改slist數(shù)組:

每當(dāng)用戶輸入或者刪除一個字符時都會調(diào)用search方法,執(zhí)行查詢操作,當(dāng)用點擊展示詞語列表時,也會調(diào)用search方法。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • elementUi vue el-radio 監(jiān)聽選中變化的實例代碼

    elementUi vue el-radio 監(jiān)聽選中變化的實例代碼

    這篇文章主要介紹了elementUi vue el-radio 監(jiān)聽選中變化,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • Vue實現(xiàn)手機(jī)掃描二維碼預(yù)覽頁面效果

    Vue實現(xiàn)手機(jī)掃描二維碼預(yù)覽頁面效果

    這篇文章主要為大家詳細(xì)介紹了Vue實現(xiàn)手機(jī)掃描二維碼預(yù)覽頁面效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 在Uni中使用Vue的EventBus總線機(jī)制操作

    在Uni中使用Vue的EventBus總線機(jī)制操作

    這篇文章主要介紹了在Uni中使用Vue的EventBus總線機(jī)制操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue.js最佳實踐(五招助你成為vuejs大師)

    Vue.js最佳實踐(五招助你成為vuejs大師)

    這篇文章主要介紹了Vue.js最佳實踐,本文主要面向?qū)ο笫怯幸欢╲ue.js 編輯經(jīng)驗的開發(fā)者,需要的朋友可以參考下
    2018-05-05
  • Vue過濾器與內(nèi)置指令和自定義指令及組件使用詳解

    Vue過濾器與內(nèi)置指令和自定義指令及組件使用詳解

    這篇文章主要介紹了Vue過濾器與內(nèi)置指令和自定義指令及組件使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • 解決VUE框架 導(dǎo)致綁定事件的阻止冒泡失效問題

    解決VUE框架 導(dǎo)致綁定事件的阻止冒泡失效問題

    下面小編就為大家分享一篇vue監(jiān)聽滾動事件 實現(xiàn)某元素吸頂或者固定位置顯示方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • 使用vite發(fā)布app存在的所有問題解決方法

    使用vite發(fā)布app存在的所有問題解決方法

    最近項目中使用了vue3+vite開發(fā)一個App項,下面這篇文章主要給大家介紹了關(guān)于使用vite發(fā)布app存在的所有問題的解決方法,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Vue用v-for給src屬性賦值的方法

    Vue用v-for給src屬性賦值的方法

    下面小編就為大家分享一篇Vue用v-for給src屬性賦值的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vue 2源碼解析Parse函數(shù)定義

    Vue 2源碼解析Parse函數(shù)定義

    這篇文章主要為大家介紹了Vue 2源碼解析Parse函數(shù)定義,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Vue新手指南之環(huán)境搭建及入門

    Vue新手指南之環(huán)境搭建及入門

    vue就是前端上的Java,前端上的C#,有個前端的虛擬DOM引擎,設(shè)計理念和Java/C#類似,這篇文章主要給大家介紹了關(guān)于Vue新手指南之環(huán)境搭建及入門的相關(guān)資料,需要的朋友可以參考下
    2021-08-08

最新評論

额济纳旗| 阿克苏市| 保康县| 吉安县| 普安县| 疏勒县| 新乡县| 探索| 宾川县| 讷河市| 屏东县| 曲水县| 信丰县| 洮南市| 左权县| 安康市| 潞城市| 财经| 昭通市| 双牌县| 米泉市| 老河口市| 北辰区| 永福县| 乐至县| 榕江县| 崇明县| 永平县| 甘肃省| 凤翔县| 大名县| 汝州市| 彭州市| 井陉县| 定日县| 墨玉县| 高淳县| 容城县| 禹州市| 娄烦县| 葵青区|