uni-app 好用的APP端不卡顿的表格组件,可以固定多列,自定义插槽,排序等功能

发布于 1周前 作者 nodeper 来自 Uni-App

uni-app 好用的APP端不卡顿的表格组件,可以固定多列,自定义插槽,排序等功能

插件需求 # 好用的APP端不卡顿的表格组件,可以固定多列,自定义插槽,排序等功能

1 回复

在uni-app中,实现一个不卡顿且功能丰富的表格组件,你可以考虑使用uView UI框架中的u-table组件,它支持多列固定、自定义插槽、排序等功能。以下是一个简单的代码示例,展示如何使用uViewu-table组件来实现这些功能。

首先,确保你的项目中已经安装了uView UI框架。如果还没有安装,可以通过以下命令安装:

npm install uview-ui

然后在main.js中引入uView

import Vue from 'vue'
import uView from 'uview-ui'
import 'uview-ui/theme.scss'

Vue.use(uView)

接下来,在你的页面组件中使用u-table组件:

<template>
  <view>
    <u-table :data="tableData" border>
      <!-- 固定列 -->
      <u-table-column prop="name" label="姓名" width="150" fixed="left"></u-table-column>
      <u-table-column prop="age" label="年龄" width="100" fixed="left"></u-table-column>
      
      <!-- 自定义插槽列 -->
      <u-table-column label="操作">
        <template slot-scope="scope">
          <button @click="handleEdit(scope.row)">编辑</button>
          <button @click="handleDelete(scope.row)">删除</button>
        </template>
      </u-table-column>
      
      <!-- 其他列 -->
      <u-table-column prop="address" label="地址"></u-table-column>
      <u-table-column prop="email" label="邮箱"></u-table-column>
      
      <!-- 可排序列 -->
      <u-table-column prop="salary" label="薪资" sortable></u-table-column>
    </u-table>
  </view>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { name: '张三', age: 25, address: '北京', email: 'zhangsan@example.com', salary: 8000 },
        { name: '李四', age: 30, address: '上海', email: 'lisi@example.com', salary: 12000 },
        // 更多数据...
      ]
    }
  },
  methods: {
    handleEdit(row) {
      console.log('编辑', row);
    },
    handleDelete(row) {
      console.log('删除', row);
    }
  }
}
</script>

在这个示例中,我们展示了如何使用u-table组件创建一个表格,其中包括固定列、自定义插槽列和可排序列。uViewu-table组件提供了丰富的功能,可以满足大多数APP端表格展示的需求。你可以根据实际需求进一步自定义和扩展这个组件。

回到顶部