# 2023-04-06 更新日志

# 📋 DarkM.UI List 组件全面优化

# 一、配置优化

attrs.js: 为 31 个连字符格式属性添加驼峰 alias

  • input-widthinputWidth
  • 系统建议使用连字符格式

methods.js/events.js: 移除重复项

  • 移除重复的 closeSort 方法
  • 移除重复的 sort-change 事件

# 二、文档重构 (_index/index.vue)

新增章节:

  • 🚀 5 分钟快速上手(3 个渐进示例)
  • 🎯 典型场景示例(4 个 Tab 切换)
  • ❓ 常见问题(5 个折叠问答)

优化章节:

  • 核心配置分级(必填/常用/列配置表格)
  • 高级功能折叠(5 个配置折叠展示)
  • 简化格式化和脱敏说明

改进点:

  • 从"配置为中心"改为"场景为中心"
  • 增加可复制粘贴的快速示例
  • 常见问题覆盖 80% 使用问题
  • 高级配置折叠,避免信息过载

# 三、Demo 优化

Demo 原名 新名 核心功能
demo1 简单列表 标准查询列表 查询 + 分页 + 操作列 + 自定义列 + 脱敏
demo2 高级功能示例 导出导入与快捷编辑 高级查询 + 导出 + 快捷编辑 + 多选
demo3 树形表格与合计行 (保持) 树形 + 懒加载 + 递归合计

demo1 改进:

  • 展示 80% 使用场景的标准配置
  • 8 条模拟数据,支持前端过滤
  • 数据脱敏(手机号)
  • 自定义列插槽(状态标签)

demo2 改进:

  • 突出导出功能和快捷编辑
  • 快捷编辑可真正工作(显示更新提示)
  • 工具栏自定义按钮
  • 高级查询(性别/状态)

# 四、源代码潜在 Bug

# 🔴 严重问题

1. 合计行数据问题

  • 位置: packages/components/list/index.vue - doQuery() 方法
  • 问题: this.rows 只包含第一层数据,不包含 children
  • 影响: 树形表格合计行无法统计子节点数据
  • 建议修复: 在 list 组件内部将完整树形数据传递给 summaryMethod

# 🟡 中等问题

2. format 字段解析逻辑分散

  • 位置: packages/components/list/components/cell/index.vue
  • 问题: 没有统一的 format 解析入口
  • 影响: 文档中的优先级可能未正确实现

3. 错误处理不完整

  • 位置: packages/components/list/index.vue - doQuery() catch
  • 问题: 没有错误提示,数据格式不对时静默失败
  • 建议: 增加数据格式校验和错误提示

4. 默认配置未文档化

  • 位置: packages/components/list/default.js
  • 问题: 默认配置没有在文档中说明
  • 建议: 增加"默认配置"章节

# 🟢 轻微问题

5. 属性名不一致

  • props 使用驼峰,用户使用连字符
  • 建议文档中统一说明

6. 文档示例代码无法直接运行

  • format 返回 HTML 字符串不会渲染
  • 建议修正示例或说明需要使用 v-html

# 五、统计

类别 文件数 新增行数 删除行数
配置优化 3 +32 -9
文档重构 1 +574 -404
Demo 优化 4 +262 -163
合计 8 +868 -576

最后更新: 2023-04-06