hjhan
ead2c01f0d
fix: 债券三字段 keydown 守卫改用正向白名单,堵住"没改值却标REV"的缺口
根因:onBondPriceKeydown 的按键排除列表只排除回车/Ctrl-Alt-Meta/Tab/Home/End/←→/F5,
漏掉 ↑(38)/↓(40)/Insert(45)/PageUp(33)/PageDown(34)/F1-F4,F6-F12/纯Shift。
这些键不改变数值却会触发 applyBondManualEdit 标 REV——正是用户观察到的
"鼠标放输入框没改值、只按了方向键/功能键却有时出现REV"。
修复:
- swapCalc.js 新增纯函数 isBondPriceValueKey(event):正向白名单(数字/小数点/减号/Backspace/Delete)
才返回 true,其余(回车/修饰键/导航键/功能键/纯Shift)返回 false,jest 可测。
- swapTradeEdit.js onBondPriceKeydown 改用该函数判定,并移除两行每次按键的 console.log 噪音。
- 纯鼠标聚焦(无按键)本就不会标REV(无 focus/click 处理;vue-number-input 的 input 仅在值变化(失焦/回车)触发),
本次仅修正按键守卫缺口。
- 同步补 9 个单测覆盖各类按键(响应"最好单测阶段解决")。
约定1/约定2/约定3 累加REV 行为不受任何影响(仅改判定是否标REV的触发条件)。
测试:bondCalc 全套 81 例通过。
2026-07-30 10:06:42 +08:00
..
2024-05-09 14:06:26 +08:00
2026-07-08 10:59:13 +08:00
2026-07-29 22:33:45 +08:00
2026-07-14 09:46:54 +08:00
2026-07-22 16:51:40 +08:00
2026-07-30 10:06:21 +08:00
2026-07-28 16:48:50 +08:00
2024-05-09 14:06:26 +08:00
2026-07-30 10:06:42 +08:00
2026-04-23 11:25:38 +08:00
2026-04-27 15:34:12 +08:00
2026-05-08 15:09:58 +08:00
2025-09-09 16:45:25 +08:00
2026-07-30 10:06:21 +08:00
2026-04-16 15:12:39 +08:00
2026-07-30 10:06:42 +08:00
2026-07-02 16:14:04 +08:00
2026-04-22 14:46:37 +08:00
2026-07-01 11:01:33 +08:00
2026-04-22 14:46:37 +08:00
2026-04-22 14:46:37 +08:00
2026-07-29 19:01:19 +08:00
2024-05-09 14:06:26 +08:00
2024-05-09 14:06:26 +08:00
2026-07-23 13:43:43 +08:00
2026-04-27 13:25:50 +08:00
2026-07-29 19:01:19 +08:00
2026-07-29 19:51:42 +08:00
2026-07-29 17:47:13 +08:00
2024-05-09 14:06:26 +08:00
2024-05-09 14:06:26 +08:00
2024-05-09 14:06:26 +08:00
2024-05-09 14:06:26 +08:00
2026-07-29 18:54:38 +08:00