欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue實(shí)現(xiàn)表格中對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換、處理的方法

 更新時(shí)間:2018年09月06日 11:56:58   作者:龍淵  
這篇文章主要介紹了Vue實(shí)現(xiàn)表格中對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換、處理的方法,需要的朋友可以參考下

眾所周知,后端從Mysql取出的數(shù)據(jù),一般是很難單獨(dú)處理某一個(gè)Key的數(shù)據(jù)的(需要處理的話,可能會(huì)浪費(fèi)大量的性能。而且對(duì)頁(yè)面加載時(shí)間有很大的影響),所以,從數(shù)據(jù)庫(kù)取出的數(shù)據(jù)。只能由前端進(jìn)行處理。但是在Vue中,如果采用了element等組件,利用數(shù)據(jù)綁定的特性,也是很難對(duì)表格遍歷的數(shù)據(jù)進(jìn)行單獨(dú)行的處理的。

我們這邊取一個(gè)例子來(lái)說(shuō)。比如Mysql datetime 類型的數(shù)據(jù)與我們一般的顯示的形式是不一樣的,為了用戶更好的體驗(yàn),勢(shì)必需要對(duì)時(shí)間格式進(jìn)行轉(zhuǎn)換的。

下圖是從mysql中默認(rèn)取出的datetime 類型時(shí)間

我們一般時(shí)間顯示都是是XXXX年XX月XX日 XX:XX的。上圖與我們認(rèn)知習(xí)慣很不一樣,肯定不能這樣的。下面我們來(lái)做時(shí)間的轉(zhuǎn)換。

<!- 圖中列表的.vue ->
 <template>
 <div class="fromlist">
  <div class="filter-container">
  <el-button type="primary" size="small">新增用戶</el-button>
  </div>
  <div>
  <el-table
   :data="tableData"
   border
   style="width: 100%" size="small">
   <el-table-column
   align="center"
   prop="id"
   label="用戶ID"
   width="100">
   </el-table-column>
   <el-table-column
   align="center"
   prop="username"
   label="用戶名"
   width="100">
   </el-table-column>
   <el-table-column
   align="center"
   prop="ip"
   label="用戶IP"
   width="100">
   </el-table-column>
   <el-table-column
   align="center"
   prop="inittime"
   label="注冊(cè)時(shí)間">
   </el-table-column>
   <el-table-column
   align="center"
   prop="endtime"
   label="最后登錄時(shí)間">
   </el-table-column>
   <el-table-column
   align="center"
   prop="isdel"
   label="狀態(tài)">
   </el-table-column>
   </template>
   </el-table-column>
  </el-table>
  </div>
 </div>
 </template>

如上,是.vue文件中,上圖列表的代碼。我們需要在相應(yīng)需要處理的<el-table-column> 列中加上屬性項(xiàng):formatter=FunctionName。將該列數(shù)據(jù)與處理函數(shù)進(jìn)行綁定。下面做一個(gè)演示:

 <!- 在相應(yīng)需要處理的el-table-column 中,添加formatter屬性,并綁定了名為formatTime的處理函數(shù) ->
 <el-table-column
   align="center"
   prop="endtime"
   :formatter="formatTime"
   label="最后登錄時(shí)間">
 </el-table-column>

而后,我們?cè)谠擁?yè)面的Vue實(shí)例中的methods中編寫formatTime函數(shù)

 // row[column.property] 能讀取到該行該列的數(shù)據(jù)。代碼中實(shí)現(xiàn)了時(shí)間格式的轉(zhuǎn)換
 formatTime(row, column) {
   const date = new Date(row[column.property])
   return date.getFullYear() + '年' +
   date.getMonth() + '月' +
   date.getDate() + '日 ' +
   date.getHours() + ':' +
   date.getMinutes()
 }

函數(shù)中的功能可以是各種各樣的,但是必須return 數(shù)據(jù)回列表進(jìn)行顯示。其中 row 包含著后端傳來(lái)的Json數(shù)據(jù)。column包含著各種輔助數(shù)據(jù)。其中row[column.property]是可以直接取到該行該列的數(shù)據(jù),以供處理的。

流程:在HTML代碼中找到需要處理的el-table-column使用formatter進(jìn)行函數(shù)綁定,而后在Vue實(shí)例methods中編寫函數(shù),即可完成處理。

該流程適合大部分表格數(shù)據(jù)的處理。

PS:下面看下Vue表格中時(shí)間的處理

Vue中表格的數(shù)據(jù)應(yīng)該來(lái)自后臺(tái)數(shù)據(jù)庫(kù),然后從數(shù)據(jù)庫(kù)中讀取到的數(shù)據(jù),時(shí)間格式可能有些不同,我們可以根據(jù)實(shí)際需要來(lái)對(duì)這個(gè)時(shí)間進(jìn)行轉(zhuǎn)化。

這里介紹一個(gè)js庫(kù),它提供了強(qiáng)大的日期處理功能,功能強(qiáng)大且只有2k大小。安裝方式簡(jiǎn)單,只需要npm install fecha --save即可。

Formatting(日期格式化)

fecha提供一個(gè)format方法。fecha.format接收一個(gè)Date對(duì)象(或一個(gè)時(shí)間戳)和一個(gè)字符串形式的日期格式,然后返回一個(gè)字符串(處理后的日期)。

注意: 當(dāng)傳入的參數(shù)無(wú)效時(shí),fecha會(huì)報(bào)錯(cuò)

Parsing(日期解析)

fecha另外提供了一個(gè)parse方法。和format類似,fecha.parse接收一個(gè)Date字符串和一個(gè)字符串形式的日期格式,然后返回一個(gè)Date對(duì)象。

注意: 當(dāng)傳入的參數(shù)無(wú)效時(shí),fecha會(huì)報(bào)錯(cuò)

fecha還有其他很多功能,這里不做具體介紹,有興趣請(qǐng)自行百度學(xué)習(xí)。

這里放一個(gè)demo,以供參考。

html

<el-table-column prop="time" label="時(shí)間" :formatter="dateFormat" min-width="100"></el-table-column>

js

 methods: {
  dateFormat(row, column, cellValue) {
  return cellValue ? fecha.format(new Date(cellValue), 'YYYY-MM-DD') : '';
  }
 }

總結(jié)

以上所述是小編給大家介紹的Vue實(shí)現(xiàn)表格中對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換、處理的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 對(duì)vue生命周期的深入理解

    對(duì)vue生命周期的深入理解

    這篇文章主要給大家介紹了關(guān)于對(duì)vue生命周期的深入理解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • vue項(xiàng)目中js文件使用vue的this實(shí)例說(shuō)明

    vue項(xiàng)目中js文件使用vue的this實(shí)例說(shuō)明

    這篇文章主要介紹了vue項(xiàng)目中js文件使用vue的this實(shí)例說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • vue組件傳遞對(duì)象中實(shí)現(xiàn)單向綁定的示例

    vue組件傳遞對(duì)象中實(shí)現(xiàn)單向綁定的示例

    下面小編就為大家分享一篇vue組件傳遞對(duì)象中實(shí)現(xiàn)單向綁定的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • 十分鐘封裝一個(gè)好用的axios步驟示例

    十分鐘封裝一個(gè)好用的axios步驟示例

    這篇文章主要為大家介紹了十分鐘封裝一個(gè)好用的axios步驟示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 解決vue2 在mounted函數(shù)無(wú)法獲取prop中的變量問(wèn)題

    解決vue2 在mounted函數(shù)無(wú)法獲取prop中的變量問(wèn)題

    這篇文章主要介紹了vue2 在mounted函數(shù)無(wú)法獲取prop中的變量的解決方法 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-11-11
  • 基于Vue3+Three.js實(shí)現(xiàn)一個(gè)3D模型可視化編輯系統(tǒng)

    基于Vue3+Three.js實(shí)現(xiàn)一個(gè)3D模型可視化編輯系統(tǒng)

    這篇文章主要介紹了基于Vue3+Three.js實(shí)現(xiàn)一個(gè)3D模型可視化編輯系統(tǒng),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • Vue + element 實(shí)現(xiàn)多選框組并保存已選id集合的示例代碼

    Vue + element 實(shí)現(xiàn)多選框組并保存已選id集合的示例代碼

    這篇文章主要介紹了Vue + element 實(shí)現(xiàn)多選框組并保存已選id集合,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • vue使用js-file-download完成導(dǎo)出功能實(shí)例

    vue使用js-file-download完成導(dǎo)出功能實(shí)例

    這篇文章主要介紹了vue使用js-file-download完成導(dǎo)出功能實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Vue2.0 從零開(kāi)始_環(huán)境搭建操作步驟

    Vue2.0 從零開(kāi)始_環(huán)境搭建操作步驟

    下面小編就為大家?guī)?lái)一篇Vue2.0 從零開(kāi)始_環(huán)境搭建操作步驟。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • Vue完整版和runtime版的區(qū)別詳解

    Vue完整版和runtime版的區(qū)別詳解

    這篇文章主要為大家介紹了Vue完整版和runtime版的區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12

最新評(píng)論