实现一个竖直的显示表头的表格(vue版本)

摘要:
今天,我遇到了一个问题。我实现了这样一个显示标题的垂直表格,如下所示。vue实现代码如下:tableComponent vue:<template><tableclass=“mailTable”:style=“styleObject”v-if=“s_showByRow”><trv for=“indexinrowCount”><tdclass=“column”>{{tableData[index*2-2].key}}</td><td>{{tableData[index*2-2].value}></td˃<tdclass‘column’>{}{tableData[index*2-1]!
今天遇到一个问题,实现这样一个竖直的显示表头的表格,如下图。默认显示两列。
实现一个竖直的显示表头的表格(vue版本)第1张
vue实现代码如下:
 
tableComponent.vue:
 
<template>
  <table class="mailTable" :style="styleObject" v-if="s_showByRow">
    <tr v-for="index in rowCount">
      <td class="column">{{tableData[index*2-2].key}}</td>
      <td>{{tableData[index*2-2].value}}</td>
      <td class="column">{{tableData[index*2-1] !== undefined ? tableData[index*2-1].key : ''}}</td>
      <td>{{tableData[index*2-1] !== undefined ? tableData[index*2-1].value : ''}}</td>
    </tr>
  </table>
  <table class="mailTable" :style="styleObject" v-else>
    <tr v-for="index in rowCount">
      <td class="column">{{tableData[index-1].key}}</td>
      <td>{{tableData[index-1].value}}</td>
      <td class="column">{{tableData[rowCount+index-1] !== undefined ? tableData[rowCount+index-1].key : ''}}</td>
      <td>{{tableData[rowCount+index-1] !== undefined ? tableData[rowCount+index-1].value : ''}}</td>
    </tr>
  </table>
</template>

<script>
export default {
  data() {
    return {
      styleObject: {},
      s_showByRow: true,
    };
  },
  props: ['tableData', 'tableStyle', 'showByRow'],
  computed: {
    rowCount: function() {
      return Math.ceil(this.tableData.length/2);
    }
  },
  created() {
    this.styleObject = this.tableStyle;
    if(this.showByRow !== undefined){
      this.s_showByRow = this.showByRow;
    }
  },
}
</script>

 补充css:

<style>
  .mailTable, .mailTable tr, .mailTable tr td{ border:1px solid #E6EAEE; }
  .mailTable{ font-size: 12px; color: #71787E; }
  .mailTable tr td{ border:1px solid #E6EAEE; width: 150px; height: 35px; line-height: 35px; box-sizing: border-box; padding: 0 10px; }
  .mailTable tr td.column { background-color: #EFF3F6; color: #393C3E; }
</style>
引用时如下:
 
<mailTable :tableData="tableData" :tableStyle="{ '600px' }"></mailTable>
数据tableData格式如下:
 
      tableData: [
        {key: '单号', value: '1001'},
        {key: '商品名称', value: '篮球'},
        {key: '价格', value: '120.00'},
        {key: '订单日期', value: '2017-03-01'},
        {key: '付款方式', value: '在线支付'},
        {key: '收货地址', value: '北京市海淀区西北旺镇'},
      ],
效果图如下:
 
实现一个竖直的显示表头的表格(vue版本)第2张
 

免责声明:文章转载自《实现一个竖直的显示表头的表格(vue版本)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【GPU编解码】GPU硬解码---DXVA (转)BACnet标准初探下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

解决:Vue中给input框手动赋值,视图却不更新

1.使用数组方法splice this.arr =[{item1},{item2},{item3},{item4}] item1.a= 0 this.arr.splice(0, 1, item1) 注意: 由于 JavaScript 的限制,Vue 不能检测以下变动的数组: 1.当你利用索引直接设置一个项时,例如:arr[1] = newValue2.当...

Vue中vue-i18n结合element-ui实现国际化

  (一)添加依赖模块   在package.json文件中添加vant模块的依赖,如: // package.json { "dependencies": { "element-ui": "^2.12.0" } }   (二)配置语言资源文件 目录结构 index.js文件内容 import Vue from 'vue' i...

vue 路由嵌套 及 router-view vue-router --》children

vue 路由嵌套 vue-router --》children 在项目的很多子页面中,我们往往需要在同一个页面做一个组件的切换,同时保存这个页面的部分数据(比如树形菜单),进而显示不同的数据,之前我都是通过v-show/v-if来实现,但当切换的组件太多时,上述方法显然不太合理,而在实际开发中,当你切换的组件太多时,后端往往会将你切换组件的路由给你,所以在...

Vue中Class与Style几种绑定用法

操作元素的 class 列表和内联样式是数据绑定的一个常见需求。因为它们都是 attribute,所以我们可以用 v-bind 处理它们; Tab 页的切换就是我们最常见的一个效果之一,如何让选中的标题高亮,常用的方式就是动态切换 class 。 <button v-for="(tab, index) in tabs" v-bind:key="i...

vue项目接入api接口

我们在做项目时,一切基础在于数据上面,所以接入api接口是关键。 访问接口是我们会遇到跨域,而,vue-cli给我们提供了反向代理,所以我们只需要配置一下就可以了。 在config文件中找到index.js,修改dev对象里面的proxyTable如图 然后我们在同个文件夹里面打开dev.env.js这个是生产环境配置文件,我们进行修改 再打开同文件夹...

vue 日期转换

y: date.getFullYear(), 如果报错 time 要new Data(time) <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <!-...