当前位置: 首页 > news >正文

手机端使用表格填写表单问题

  • 背景:子表单渲染。新增功能。布局样式调整。

  • 遇到问题。操作列存在的查看、编辑、删除按钮在样式上不能很好的兼容。

  • 优化:将表格容器与新增按钮分离。

  • table-container与table-footer分离展示

在这里插入图片描述

  • 修改后样式

在这里插入图片描述

<template><view class="dynamic-table"><view class="table-label"><text v-if="required" class="required-mark">*</text><text class="label-text">{{ label }}</text></view><view class="table-container"><view class="table-header"><view class="table-row table-header-row"><viewv-for="(column, index) in filterColumns":key="index"class="table-cell table-header-cell":class="{ 'action-cell': column.isAction }":style="{ width: column.tWidth || '150rpx' }">{{ column.tLabel }}</view></view></view><view class="table-body"><view v-if="tableData.length === 0" class="table-row table-body-row"><view class="table-cell table-body-cell" :style="{ width: (filterColumns.length - 1) * 150 + 'rpx' }"><text class="empty-text">暂无数据</text></view><view class="table-cell table-body-cell action-cell"><view class="action-buttons"><button class="action-btn view-btn" size="mini" disabled>查看</button><button class="action-btn edit-btn" size="mini" disabled>编辑</button><button class="action-btn delete-btn" size="mini" disabled>删除</button></view></view></view><view v-for="(item, index) in tableData" :key="index" class="table-row table-body-row"><viewv-for="(column, i) in filterColumns":key="i"class="table-cell table-body-cell":class="{ 'action-cell': column.isAction }":style="{ width: column.tWidth || '150rpx' }"><template v-if="column.isAction"><view class="action-buttons"><button class="action-btn view-btn" size="mini" @click="handleLook(index)">查看</button><button class="action-btn edit-btn" size="mini" @click="handleEdit(index)">编辑</button><button class="action-btn delete-btn" size="mini" @click="handleDelete(index)">删除</button></view></template><template v-else>{{ item[column.tKey] || '-' }}</template></view></view></view></view><view class="table-footer"><button class="add-btn" type="primary" size="mini" @click="handleAdd">新增</button></view><!-- 弹窗表单 --><uni-popup ref="popup" :mask-click="false"><view class="popup-content"><view class="popup-header"><text class="popup-title">{{ formIndex === -1 ? '新增' : readOnly ? '查看' : '编辑' }}</text></view><view class="popup-body"><view class="form-container"><view v-for="(item, index) in columns" :key="index" class="form-item"><view class="form-label"><text v-if="required" class="required-mark">*</text><text class="label-text">{{ item.tLabel }}</text></view><view class="form-input"><inputv-model="baseFormData[item.tKey]"class="input-field":placeholder="`请输入${item.tLabel}`":disabled="readOnly"@input="handleFormInput" /></view></view><view class="popup-actions"><button v-if="!readOnly" type="primary" size="mini" @click="handleSubmit" class="submit-btn">提交</button><button type="default" size="mini" @click="close" class="close-btn">关闭</button></view></view></view></view></uni-popup></view>
</template>
...
http://www.dtcms.com/a/313219.html

相关文章:

  • 复现YOLOV5+训练指定数据集
  • STM32-ESP8266通过MQTT与阿里云通讯
  • MySQL连接算法和小表驱动大表的原理
  • 李宏毅深度学习教程 第8-9章 生成模型+扩散模型
  • 【Django】-7- 实现注册功能
  • 09.Redis 常用命令
  • Android 之 蓝牙通信(2.0 经典)
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-58,(知识点:硬件产品的功率优化)
  • C++中多线程和互斥锁的基本使用
  • 【RH124 问答题】第 8 章 监控和管理 Linux 进程
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现实时食物水果的检测识别(C#代码UI界面版)
  • 使用 Spring Initializr 生成项目结构:Java 开发效率提升指南
  • 【QT】常⽤控件详解(二)windowOpacitycursorfontsetToolTipfocusPolicystyleSheet
  • 大语言模型涉及的一些概念(持续更新)
  • VisualStudio的一些开发经验
  • 思二勋:数字资产化与资产数权化是RWA运作的核心逻辑
  • AtCoder Beginner Contest 417
  • MySQL事务与存储引擎的学习(一)
  • Docker国内镜像列表
  • Effective C++ 条款19: 设计class犹如设计type
  • Python从入门到精通计划Day02: Python语法探秘:当现代艺术遇到古典音乐
  • 最小半径覆盖问题【C++解法+二分+扫描线】
  • 【CF】Day118——杂题 (随机哈希 / 思维 | 贪心 / DP | 位运算构造 | 状态压缩 + 建图 + 最短路 | 构造 | 贪心)
  • 使用纯Docker命令搭建多服务环境(Linux版)
  • Python篇---包
  • 在Ansys Mechanical中对磨损进行建模
  • 力扣经典算法篇-40-螺旋矩阵(方向遍历:方向数组+已访问元素集合)
  • 【ROS2】常用命令
  • 04.Redis 的多实例
  • 双八无碳小车设计【16张cad】三维图+设计说明书