chore(backlog): 记录 g254 完成
This commit is contained in:
@@ -2672,6 +2672,15 @@
|
||||
"status": "done",
|
||||
"domain": "tooling",
|
||||
"notes": "生成器本身是模板串,MD 里的三反引号围栏改用 String.fromCharCode(96) 拼,避免把模板串提前截断(第一版直接写裸反引号导致 ua.js 语法错误,已回滚重写);顺手用 node 取生成产物里的 mdOf 做了一次实际输出核对(含联合类型竖线转义)"
|
||||
},
|
||||
{
|
||||
"id": "g254",
|
||||
"title": "换源后越界页码回写内核状态(settle 钩子)",
|
||||
"motivation": "g247 引入 setRows 换源后暴露:数据从 3 页缩到 1 页时,getPageInfo() 钳制成 1、state.pagination.page 仍是 3——视图和状态各说各话。更糟的是数据恢复后表格会「记得」失效的旧页码直接跳回第 3 页,用户会以为数据被吞了。",
|
||||
"acceptance": "TablePlugin 增加可选 settle 钩子(派生后收敛自身状态切片,无需修正须原样返回同一引用);core 在派生末尾跑一轮 settle 并只走 onStateChange、不广播订阅(避免读取期重入);pagination 用新鲜快照回写生效页,快照过期不写;smoke 补 5 条断言覆盖「缩水→回写 / 恢复→不跳页 / 跳越界→回写末页 / 快照语义不变」;npm run check 全绿。",
|
||||
"status": "done",
|
||||
"domain": "core",
|
||||
"notes": "只回写不改派生:pageInfo 仍是纯派生量,越界钳制口径不变(dataTable 的受控页码桥接因此不再需要额外钳制);快照新鲜度用「本次 derive 是否按当前 state 完整跑过」判断,paged=false(getAllRows 导出)会把 fresh 置假,避免拿旧快照写错页码"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user