【APP VTable】和市面上的 Table 组件一样,都是接收表格[] 以及数据源[]

简介: 【APP VTable】和市面上的 Table 组件一样,都是接收表格[] 以及数据源[]


表格组件

<template>
  <view class="scroll-table-wrapper">
    <view class="scroll-table-container">
      <table class="scroll-table">
        <thead>
          <tr>
            <th v-for="(item, index) in columns" :key="index">
              {{ item.title }}
            </th>
          </tr>
        </thead>
        <!-- 表格内容 -->
        <tbody v-if="dataSource.length > 0">
          <tr v-for="(row, rowIndex) in dataSource" :key="rowIndex">
            <td v-for="(cell, cellIndex) in columns" :key="cellIndex">
              <view v-if="cell.title !== '操作'"
                :style="{'width': cell.width, 'white-space': cell.width ? 'normal' : 'nowrap', 'text-align': 'center'}"
                @click="handleArrowClick(row, cell, type)">
                {{ row[cell.dataIndex] || '' }}
              </view>
              <view v-else>
                <button @click="handleButtonClick(row)" class="op-after-0">{{operateTitle}}</button>
              </view>
            </td>
          </tr>
        </tbody>
        <tbody v-else>
          <tr style="text-align: center;">
            <td :colspan="columns.length">暂无数据</td>
          </tr>
        </tbody>
      </table>
    </view>
  </view>
</template>
<script>
  export default {
    /**
     * @author _LJaXi
     * @columns 表头内容
     * @dataSource 表格数据源
     * @operateTitle 操作按钮title
     * @updatehandleOperate 操作栏按钮获取row
     * @updateshow 单击单元格获取row
     */
    props: {
      columns: {
        type: Array,
        default: []
      },
      dataSource: {
        type: Array,
        default: []
      },
      // 状态
      type: {
        type: String,
        default: ''
      },
      operateTitle: {
        type: String,
        default: '操作'
      }
    },
    methods: {
      handleArrowClick(item, type) {
        this.$emit('update:show', {
          item,
          type: this.type
        })
      },
      handleButtonClick(item) {
        this.$emit('update:handleOperate', {
          item
        })
      }
    }
  }
</script>
<style lang="less" scoped>
  @import url('index.less');
</style>

USE

<VTable 
  :columns="maintenanceFeedbackTableData" 
  :dataSource="tableData"
  @update:show="handleShow" 
  @update:handleOperate="handleOperate" 
/>

总之这个表格和市面上的没有什么不同,都是自适应的,这个我是在APP里面写的一个表格,不知道为什么APP会让写表格…

相关文章
|
6月前
uni-app 4.13开发弹出层组件(二)弹出关闭功能
uni-app 4.13开发弹出层组件(二)弹出关闭功能
139 0
|
6月前
uni-app 4.9封装badge组件
uni-app 4.9封装badge组件
89 0
|
6月前
uni-app 4.7封装头像组件
uni-app 4.7封装头像组件
69 0
|
6月前
uni-app 4.5开发聊天列表组件(一)
uni-app 4.5开发聊天列表组件(一)
82 0
|
6月前
uni-app 4.4封装头部导航组件(二)
uni-app 4.4封装头部导航组件(二)
60 0
|
1月前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
208 1
|
1月前
|
存储 API 数据库
uniapp APP自动更新组件
uniapp APP自动更新组件
70 1
|
1月前
|
存储 前端开发 UED
uni-app:基础组件 (下)
本文介绍了多种前端组件及其用法,包括:label 组件用于表单元素的标签;picker 组件用于实现日期、时间及普通列表的选择器;textarea 组件用于输入多行文本,并可通过 v-model 双向绑定数据;process 组件用于显示进度条;swiper 组件用于轮播图展示;match-media 组件根据屏幕尺寸展示内容;audio 组件用于播放音频;switch 组件用于开关选择;scroll-view 组件实现滚动视图功能;以及 storage 的使用方法,如设置、获取和移除本地存储等。
|
1月前
|
存储 前端开发 JavaScript
uni-app:基础组件 (上)
本文介绍了uni-app中多个组件的使用方法,包括存储操作、图标展示、按钮样式、表单输入、导航跳转和输入框控制等。通过具体代码示例展示了如何设置存储键值、使用不同类型的按钮、实现表单提交与重置功能、控制输入框的显示与清除等功能。
|
2月前
|
移动开发 小程序 前端开发
uni-app组件样式修改不生效
uni-app组件样式修改不生效

热门文章

最新文章

下一篇
无影云桌面