当前位置:首页 > 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

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布局模拟表格:

<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
分享给朋友:

相关文章

css制作三行三列表格

css制作三行三列表格

使用HTML和CSS创建三行三列表格 通过HTML的<table>标签结合CSS样式可以轻松实现三行三列的表格结构。 <table class="three-by-three"&…

vue实现表格读取数据

vue实现表格读取数据

Vue 实现表格数据读取 在 Vue 中实现表格数据读取通常涉及以下关键步骤: 数据绑定与表格渲染 通过 v-for 指令动态渲染表格行,数据通常存储在组件的 data 或 Vuex 状态中:…

vue实现表格数据修改

vue实现表格数据修改

实现表格数据修改的基本思路 在Vue中实现表格数据修改通常涉及以下核心步骤:数据绑定、编辑状态切换、表单输入处理和数据提交。以下是一个典型实现方案: 数据绑定与渲染 使用v-for指令循环渲染表格数…

vue实现动态用户表格

vue实现动态用户表格

Vue 动态用户表格实现方法 基础表格结构 使用<table>或第三方组件库(如Element UI的el-table)构建基础框架。静态数据示例: <template>…

vue表格实现单选框

vue表格实现单选框

Vue 表格实现单选框的方法 在 Vue 中实现表格单选框功能,可以通过结合 el-table(Element UI)或原生表格与 Vue 的数据绑定特性完成。以下是几种常见实现方式: 使用 Ele…

css好看的表格制作

css好看的表格制作

使用CSS制作美观表格的方法 边框与间距优化 通过border-collapse属性合并边框,避免双边框效果。设置padding增加单元格内边距,提升可读性。 table { border…