当前位置:首页 > 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
分享给朋友:

相关文章

uniapp 推送

uniapp 推送

uniapp 推送实现方法 uniapp 推送功能可以通过多种方式实现,主要包括使用第三方推送服务、原生插件或云服务。以下是几种常见的实现方案: 使用 UniPush 服务 UniPush 是 D…

uniapp怎么启动

uniapp怎么启动

启动UniApp项目的步骤 确保已安装Node.js(建议版本12+)和HBuilderX(官方IDE)。若未安装,需先下载并配置环境。 安装开发工具 从HBuilderX官网下载对应操作系统的版本…

uniapp样式库

uniapp样式库

uniapp 常用样式库推荐 uView UI uView 是专为 uniapp 设计的多端兼容 UI 框架,提供丰富的组件和工具类。支持 Vue3 组合式 API,内置主题定制功能,常用于快速构建企…

uniapp adb

uniapp adb

在UniApp中使用ADB的方法 ADB(Android Debug Bridge)是Android开发中常用的调试工具,可用于UniApp项目的真机调试、日志查看等操作。以下是具体使用方法: 连接…

uniapp 绘图

uniapp 绘图

uniapp 绘图方法 使用 Canvas 组件 uniapp 支持通过 canvas 组件实现绘图功能。在模板中声明 canvas 并设置宽度、高度和 ID,通过 JavaScript 调用绘图 A…

uniapp番号

uniapp番号

关于“uniapp番号”这一搜索词,可能存在理解偏差或表述不明确的情况。以下分方向提供相关信息: Uniapp框架简介 Uniapp是一个基于Vue.js的跨平台开发框架,支持编译到iOS、…