当前位置:首页 > uni-app

uniapp 数据表格

2026-03-05 09:44:46uni-app

uniapp 数据表格实现方法

使用 uni-table 组件

uniapp 提供了 uni-table 组件用于展示表格数据,支持多列布局和基础样式。通过 uni-tr 定义行,uni-th 定义表头,uni-td 定义单元格。

<uni-table>
  <uni-tr>
    <uni-th>姓名</uni-th>
    <uni-th>年龄</uni-th>
  </uni-tr>
  <uni-tr v-for="(item, index) in tableData" :key="index">
    <uni-td>{{ item.name }}</uni-td>
    <uni-td>{{ item.age }}</uni-td>
  </uni-tr>
</uni-table>

自定义表格样式

若需更灵活的样式控制,可通过 CSS 自定义表格外观。使用 view 组件模拟表格结构,结合 flex 布局实现响应式设计。

<view class="custom-table">
  <view class="table-row header">
    <view class="table-cell">姓名</view>
    <view class="table-cell">年龄</view>
  </view>
  <view class="table-row" v-for="(item, index) in tableData" :key="index">
    <view class="table-cell">{{ item.name }}</view>
    <view class="table-cell">{{ item.age }}</view>
  </view>
</view>
.custom-table {
  width: 100%;
  border: 1px solid #ddd;
}
.table-row {
  display: flex;
  border-bottom: 1px solid #ddd;
}
.header {
  font-weight: bold;
  background-color: #f5f5f5;
}
.table-cell {
  flex: 1;
  padding: 8px;
  text-align: center;
}

第三方组件库

推荐使用 uView UIuni-ui 的增强表格组件,支持排序、分页、固定列等高级功能。以 uViewu-table 为例:

<u-table
  :columns="columns"
  :data="tableData"
  border
></u-table>
export default {
  data() {
    return {
      columns: [
        { title: '姓名', key: 'name' },
        { title: '年龄', key: 'age' }
      ],
      tableData: [
        { name: '张三', age: 25 },
        { name: '李四', age: 30 }
      ]
    }
  }
}

动态加载与分页

结合后端 API 实现数据动态加载,通过 onReachBottom 监听触底事件加载下一页数据。

uniapp 数据表格

export default {
  data() {
    return {
      page: 1,
      pageSize: 10,
      tableData: [],
      total: 0
    }
  },
  methods: {
    loadData() {
      uni.request({
        url: 'https://api.example.com/data',
        data: { page: this.page, pageSize: this.pageSize },
        success: (res) => {
          this.tableData = [...this.tableData, ...res.data.list]
          this.total = res.data.total
        }
      })
    }
  },
  onReachBottom() {
    if (this.tableData.length < this.total) {
      this.page++
      this.loadData()
    }
  },
  onLoad() {
    this.loadData()
  }
}

标签: 表格数据
分享给朋友:

相关文章

vue表格实现教学

vue表格实现教学

基础表格实现 使用 Vue 的 v-for 指令渲染数组数据到表格中。 <template> <table> <thead> <…

vue实现重置表格数据

vue实现重置表格数据

重置表格数据的方法 在Vue中重置表格数据通常涉及清空或重新初始化数据绑定的数组或对象。以下是几种常见实现方式: 直接重置数据源 对于基于数组的表格数据,可以直接将数据数组重置为空或初始值: //…

uniapp 数据

uniapp 数据

uniapp 数据管理方法 本地存储 使用 uni.setStorageSync 和 uni.getStorageSync 进行本地数据持久化存储。适合保存用户偏好设置或小型数据。 // 存储数…

Vue数据依赖实现

Vue数据依赖实现

Vue数据依赖实现原理 Vue的数据依赖实现基于响应式系统,核心是通过Object.defineProperty或Proxy拦截数据变化,结合发布-订阅模式实现依赖收集和更新触发。 核心机制 依赖收…

css制作表格

css制作表格

CSS 制作表格的方法 使用 CSS 可以灵活地创建和样式化表格,以下是几种常见的方法: 使用 HTML 表格标签结合 CSS 样式 通过 HTML 的 <table>、<tr&g…

vue动态表格实现

vue动态表格实现

Vue动态表格实现方法 使用v-for指令渲染动态数据 通过v-for指令可以循环遍历数组数据生成表格行,数据变化时表格自动更新。示例代码: <template> <table…