当前位置:首页 > uni-app

uniapp 数据表格

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

uniapp 数据表格实现方法

使用 uni-table 组件

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

uniapp 数据表格

<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 布局实现响应式设计。

uniapp 数据表格

<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 监听触底事件加载下一页数据。

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

使用vue实现表格

使用vue实现表格

使用 Vue 实现表格 在 Vue 中实现表格可以通过多种方式完成,以下是一个基于 Vue 3 的示例,展示如何动态渲染表格数据并支持基础功能(如排序、筛选)。 基础表格实现 通过 v-for 循…

uniapp 数据

uniapp 数据

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

Vue数据依赖实现

Vue数据依赖实现

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

vue实现数据互通

vue实现数据互通

Vue 实现数据互通的方法 Vue 提供了多种方式实现组件间的数据互通,以下是几种常见的方法: 父子组件通信 Props 传递数据 父组件通过 props 向子组件传递数据。 <!-- 父组…

vue表格组件实现

vue表格组件实现

Vue表格组件实现 基础表格实现 使用el-table组件实现基础表格功能。安装Element UI后,引入el-table和el-table-column组件。 <template>…