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

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

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

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

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

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

我們一般時間顯示都是是XXXX年XX月XX日 XX:XX的。上圖與我們認(rèn)知習(xí)慣很不一樣,肯定不能這樣的。下面我們來做時間的轉(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="注冊時間">
   </el-table-column>
   <el-table-column
   align="center"
   prop="endtime"
   label="最后登錄時間">
   </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)行綁定。下面做一個演示:

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

而后,我們在該頁面的Vue實(shí)例中的methods中編寫formatTime函數(shù)

 // row[column.property] 能讀取到該行該列的數(shù)據(jù)。代碼中實(shí)現(xiàn)了時間格式的轉(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 包含著后端傳來的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表格中時間的處理

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

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

Formatting(日期格式化)

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

注意: 當(dāng)傳入的參數(shù)無效時,fecha會報錯

Parsing(日期解析)

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

注意: 當(dāng)傳入的參數(shù)無效時,fecha會報錯

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

這里放一個demo,以供參考。

html

<el-table-column prop="time" label="時間" :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)表格中對數(shù)據(jù)進(jìn)行轉(zhuǎn)換、處理的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Vue封裝svg-icon組件使用教程

    Vue封裝svg-icon組件使用教程

    SVG(Scalable?Vector?Graphics)可縮放矢量圖形,是一種用于描述基于二維的矢量圖形的?XML?標(biāo)記語言,其基本矢量顯示對象包括矩形、圓、橢圓、多邊形、直線、任意曲線等,還能顯示文字對象和嵌入式外部圖像
    2023-02-02
  • vue2結(jié)合echarts實(shí)現(xiàn)一個地圖的效果

    vue2結(jié)合echarts實(shí)現(xiàn)一個地圖的效果

    這篇文章主要介紹了vue2結(jié)合echarts實(shí)現(xiàn)一個地圖的效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家何用vue和echarts實(shí)現(xiàn)一個地圖有一定的幫助,感興趣的朋友一起看看吧
    2024-03-03
  • vue3.x?的shallowReactive?與?shallowRef?使用場景分析

    vue3.x?的shallowReactive?與?shallowRef?使用場景分析

    在Vue3.x中,`shallowReactive`和`shallowRef`是用于創(chuàng)建淺層響應(yīng)式數(shù)據(jù)的API,它們與`reactive`和`ref`類似,本文介紹vue3.x??shallowReactive?與?shallowRef的使用場景,感興趣的朋友一起看看吧
    2025-02-02
  • vue如何實(shí)現(xiàn)el-select下拉選項(xiàng)的懶加載

    vue如何實(shí)現(xiàn)el-select下拉選項(xiàng)的懶加載

    這篇文章主要介紹了vue如何實(shí)現(xiàn)el-select下拉選項(xiàng)的懶加載,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue使用less報錯:Inline JavaScript is not enabled問題

    vue使用less報錯:Inline JavaScript is not ena

    這篇文章主要介紹了vue使用less報錯:Inline JavaScript is not enabled問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • vue3中關(guān)于路由hash與History的設(shè)置

    vue3中關(guān)于路由hash與History的設(shè)置

    這篇文章主要介紹了vue3中關(guān)于路由hash與History的設(shè)置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • nuxt3中server routes的使用詳解

    nuxt3中server routes的使用詳解

    本文主要介紹了nuxt3中server routes的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Vue中前端與后端如何實(shí)現(xiàn)交互

    Vue中前端與后端如何實(shí)現(xiàn)交互

    這篇文章主要介紹了Vue中前端與后端如何實(shí)現(xiàn)交互,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue中如何獲取當(dāng)前路由地址

    vue中如何獲取當(dāng)前路由地址

    這篇文章主要介紹了vue中如何獲取當(dāng)前路由地址,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 如何把vuejs打包出來的文件整合到springboot里

    如何把vuejs打包出來的文件整合到springboot里

    這篇文章主要介紹了如何把vuejs打包出來的文件整合到springboot里,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07

最新評論

河北省| 青田县| 香港| 阿拉善左旗| 乌拉特后旗| 宁国市| 隆昌县| 宁乡县| 天峨县| 巴青县| 清丰县| 崇阳县| 云梦县| 内乡县| 仁怀市| 长兴县| 工布江达县| 井陉县| 竹溪县| 连南| 昔阳县| 施秉县| 曲阳县| 丁青县| 太仓市| 大石桥市| 宝兴县| 青铜峡市| 城固县| 成安县| 靖江市| 临颍县| 安达市| 阳江市| 娄烦县| 友谊县| 肇东市| 金寨县| 通州市| 孝义市| 涞水县|