当前位置:首页 > uni-app

uniapp表格合并行

2026-03-05 10:14:03uni-app

uniapp表格合并行实现方法

在uniapp中实现表格合并行功能,可以通过以下方式实现:

使用<table>标签和rowspan属性 通过HTML原生表格的rowspan属性可以实现行合并。在uniapp的vue文件中可以直接使用HTML标签。

uniapp表格合并行

<template>
  <view>
    <table border="1" style="width:100%">
      <tr>
        <th>姓名</th>
        <th>科目</th>
        <th>成绩</th>
      </tr>
      <tr>
        <td rowspan="2">张三</td>
        <td>数学</td>
        <td>90</td>
      </tr>
      <tr>
        <td>语文</td>
        <td>85</td>
      </tr>
    </table>
  </view>
</template>

使用uniapp的<uni-table>组件 如果使用uniapp的官方表格组件,需要通过计算属性动态处理数据:

uniapp表格合并行

<template>
  <view>
    <uni-table>
      <uni-tr>
        <uni-th>姓名</uni-th>
        <uni-th>科目</uni-th>
        <uni-th>成绩</uni-th>
      </uni-tr>
      <uni-tr v-for="(item,index) in tableData" :key="index">
        <uni-td v-if="item.showName" :rowspan="item.rowspan">{{item.name}}</uni-td>
        <uni-td>{{item.subject}}</uni-td>
        <uni-td>{{item.score}}</uni-td>
      </uni-tr>
    </uni-table>
  </view>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { name: '张三', subject: '数学', score: 90, showName: true, rowspan: 2 },
        { name: '张三', subject: '语文', score: 85, showName: false, rowspan: 0 }
      ]
    }
  }
}
</script>

使用CSS实现伪合并效果 通过绝对定位和相对定位模拟合并效果:

<template>
  <view class="table-container">
    <view class="table-row" v-for="(row,index) in tableData" :key="index">
      <view class="table-cell" v-if="row.showName" :style="{height: row.rowspan*50+'px'}">
        {{row.name}}
      </view>
      <view class="table-cell">
        {{row.subject}}
      </view>
      <view class="table-cell">
        {{row.score}}
      </view>
    </view>
  </view>
</template>

<style>
.table-container {
  display: flex;
  flex-direction: column;
}
.table-row {
  display: flex;
  position: relative;
}
.table-cell {
  flex: 1;
  border: 1px solid #ddd;
  padding: 10px;
}
</style>

使用第三方表格组件 可以引入第三方表格组件如uViewu-table组件:

<template>
  <u-table>
    <u-tr>
      <u-th>姓名</u-th>
      <u-th>科目</u-th>
      <u-th>成绩</u-th>
    </u-tr>
    <u-tr v-for="(item,index) in tableData" :key="index">
      <u-td v-if="item.showName" :rowspan="item.rowspan">{{item.name}}</u-td>
      <u-td>{{item.subject}}</u-td>
      <u-td>{{item.score}}</u-td>
    </u-tr>
  </u-table>
</template>

在实际开发中,需要根据项目需求选择合适的实现方式。原生HTML表格简单直接,uniapp组件更符合uniapp生态,CSS方案灵活性高,第三方组件功能丰富但会增加包体积。

标签: 表格uniapp
分享给朋友:

相关文章

vue实现表格复选

vue实现表格复选

Vue实现表格复选的方法 基础实现 在Vue中实现表格复选功能可以通过v-model绑定复选框的状态,结合v-for循环渲染表格数据。以下是一个基础示例: <template> &…

uniapp教程

uniapp教程

uniapp 基础介绍 uniapp 是一个基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App、快应用等)。其核心优势在于代码复用率高,学习成本低,适合快速构建多…

uniapp删除

uniapp删除

卸载 uniapp 项目依赖 在项目根目录下执行以下命令,移除 node_modules 和依赖锁文件: rm -rf node_modules package-lock.json 如需清理全…

uniapp实现支付功能

uniapp实现支付功能

支付功能实现概述 在UniApp中实现支付功能通常需要对接第三方支付平台(如微信支付、支付宝支付等)。以下是基于微信支付和支付宝支付的通用实现流程。 微信支付实现步骤 1. 配置支付权限 在微信开…

uniapp发布到应用商店

uniapp发布到应用商店

发布到苹果App Store 确保开发者账号已注册并加入Apple Developer Program,年费99美元。在Xcode中生成iOS发布证书(.p12)和描述文件(Provisioning…

海康 uniapp

海康 uniapp

海康威视与UniApp集成方案 海康威视的硬件设备(如摄像头、NVR等)与UniApp结合,通常需要通过海康的开放平台API或SDK实现功能调用。以下是具体实现方法: 获取海康威视开放平台权限 注册…