当前位置:首页 > uni-app

uniapp实现表格

2026-03-04 22:21:02uni-app

uniapp实现表格的方法

使用<table>标签

在uniapp中可以直接使用HTML的<table>标签实现基础表格。注意样式需通过内联或全局CSS调整,因部分小程序平台对HTML标签支持有限。

<view class="table-container">
  <table>
    <tr>
      <th>姓名</th>
      <th>年龄</th>
    </tr>
    <tr>
      <td>张三</td>
      <td>25</td>
    </tr>
  </table>
</view>
.table-container table {
  width: 100%;
  border-collapse: collapse;
}
.table-container th, .table-container td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: center;
}

使用<uni-table>组件(H5端)

H5端可使用官方扩展组件uni-table,需先安装@dcloudio/uni-ui

uniapp实现表格

npm install @dcloudio/uni-ui
<template>
  <uni-table>
    <uni-tr>
      <uni-th>姓名</uni-th>
      <uni-th>年龄</uni-th>
    </uni-tr>
    <uni-tr>
      <uni-td>李四</uni-td>
      <uni-td>28</uni-td>
    </uni-tr>
  </uni-table>
</template>
<script>
  import { UniTable, UniTr, UniTh, UniTd } from '@dcloudio/uni-ui'
  export default {
    components: { UniTable, UniTr, UniTh, UniTd }
  }
</script>

使用<view>模拟表格

跨平台兼容性更好的方案是用flex布局模拟表格:

uniapp实现表格

<view class="table">
  <view class="row header">
    <view class="cell">ID</view>
    <view class="cell">名称</view>
  </view>
  <view class="row" v-for="item in list" :key="item.id">
    <view class="cell">{{ item.id }}</view>
    <view class="cell">{{ item.name }}</view>
  </view>
</view>
.table {
  width: 100%;
}
.row {
  display: flex;
  border-bottom: 1px solid #eee;
}
.header {
  font-weight: bold;
  background-color: #f5f5f5;
}
.cell {
  flex: 1;
  padding: 10px;
  text-align: center;
}

动态数据绑定

结合Vue的数据绑定实现动态表格:

export default {
  data() {
    return {
      tableData: [
        { id: 1, name: '商品A', price: 99 },
        { id: 2, name: '商品B', price: 199 }
      ]
    }
  }
}
<view class="table">
  <view class="row header">
    <view class="cell">ID</view>
    <view class="cell">名称</view>
    <view class="cell">价格</view>
  </view>
  <view class="row" v-for="item in tableData" :key="item.id">
    <view class="cell">{{ item.id }}</view>
    <view class="cell">{{ item.name }}</view>
    <view class="cell">¥{{ item.price }}</view>
  </view>
</view>

第三方组件库

可选用第三方UI库如uView的表格组件:

<u-table :columns="columns" :list="dataList"></u-table>
export default {
  data() {
    return {
      columns: [
        { title: '姓名', key: 'name' },
        { title: '分数', key: 'score' }
      ],
      dataList: [
        { name: '王五', score: 90 },
        { name: '赵六', score: 85 }
      ]
    }
  }
}

注意事项

  1. 小程序平台对<table>标签支持不完整,推荐使用<view>模拟方案
  2. 大数据量列表应使用<scroll-view>包裹防止渲染性能问题
  3. 复杂交互表格建议封装成单独组件
  4. 各端样式可能存在差异,需通过条件编译调整

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

相关文章

uniapp怎么启动

uniapp怎么启动

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

uniapp支付功能怎么实现

uniapp支付功能怎么实现

uniapp支付功能实现方法 准备工作 注册微信支付、支付宝等平台的开发者账号,获取必要的商户ID(mch_id)、API密钥(key)、应用ID(appid)等信息。确保项目已配置好相关支付SDK。…

uniapp 头条

uniapp 头条

uniapp 适配今日头条(字节跳动小程序)的方法 环境配置 确保HBuilderX版本在2.7.0以上,manifest.json中勾选"字节跳动小程序"平台。在开发者工具中配置正确的AppID和项…

uniapp探探

uniapp探探

uniapp实现探探滑动卡片效果 探探的滑动卡片效果主要包含卡片堆叠、左右滑动操作、动画反馈等功能。在uniapp中可以通过以下方式实现类似交互: 使用swiper组件实现基础滑动 uniapp的s…

uniapp真垃圾

uniapp真垃圾

关于对UniApp的评价,存在不同的声音。以下从技术特性、适用场景及常见争议点展开分析,供开发者参考: 技术特性与优势 UniApp基于Vue.js框架,支持多端编译(微信小程序、H5、App等),…

uniapp 字体设置

uniapp 字体设置

uniapp 字体设置方法 uniapp 中设置字体可以通过以下几种方式实现,适用于不同场景和需求。 全局字体设置 在 App.vue 文件中通过样式定义全局字体,确保所有页面继承该字体设置。…