移除长者档案按钮从 ElderlyCard
viewProfile 事件添加长者档案按钮到 DetailSection
viewProfile 事件header-left 样式更新事件传递链
viewProfile 事件清理代码
修改内容:
viewProfile 事件到 emitviewProfile 方法header-left 样式类关键代码:
<div class="header-left">
<el-button
type="info"
size="small"
@click="viewProfile"
style="margin-right: 10px"
>
长者档案
</el-button>
<h2>{{ selectedElderly.name }}的详细信息</h2>
</div>
修改内容:
viewProfile 事件action-buttons 样式profile-btn 样式结果: 只保留"添加设备"按钮
修改内容:
viewProfile 事件定义@view-profile 监听viewProfile 方法结果: 不再处理档案按钮事件
修改内容:
@view-profile 事件监听@view-profile 事件监听关键代码:
<DetailSection
...
@view-profile="openElderProfileDialog"
/>
ElderlyCard (点击档案按钮)
↓ emit('viewProfile')
ElderlyList
↓ emit('viewProfile')
home-refactored.vue
↓ openElderProfileDialog()
ElderProfileDialog
DetailSection (点击档案按钮)
↓ emit('viewProfile')
home-refactored.vue
↓ openElderProfileDialog()
ElderProfileDialog
优势: 事件传递更直接,代码更简洁
1. 用户点击长者卡片选中长者
↓
2. DetailSection 显示长者详细信息
↓
3. 用户看到标题左边的"长者档案"按钮
↓
4. 用户点击按钮查看档案
↓
5. 弹窗打开显示长者详细信息
| 指标 | 数值 |
|---|---|
| 修改文件 | 4 个 |
| 添加代码行 | ~20 行 |
| 删除代码行 | ~30 行 |
| 净变化 | -10 行 |
| 代码复杂度 | 降低 |
添加:
const viewProfile = () => {
if (!props.selectedElderly) return
emit('viewProfile', props.selectedElderly)
}
样式:
.header-left {
display: flex;
align-items: center;
gap: 12px;
h2 {
font-size: 28px;
margin: 0;
}
}
删除:
viewProfile 事件action-buttons 容器profile-btn 样式viewProfile 方法保留:
addDevice 事件add-device-btn 按钮✅ 所有修改已完成 ✅ 功能正常运行 ✅ 代码质量达标 ✅ 用户体验改进
✅ 重构完成,生产就绪
重构日期: 2024-01-15 版本: 1.1.0 状态: ✅ 完成
感谢使用本功能! [object Object]