E2.11.2direct numeric entry设计
大范围数值必须支持直接键入
别名: 数字直输 · typeable spinner · 不能键入的步进器
概念解释
当合法区间从几十跨到成千上万,或目标与当前值相差很远,人需要把数字当作字符串一次写入。直接键入(direct numeric entry)要求中间那个数是真正的输入框:可聚焦、可全选、可粘贴、可删光重来。只许点加减、中间的数不能点,是把大范围任务锁死在线性逼近上。它管的是远距离到达,不是步进器适不适合微调,也不是每点一下该走多远。
机制
构造一个已知数字(「我要 365」「我要 12800」)在工作记忆里已经是完成态,最便宜的外化是键盘。步进器要求把这个完成态拆成与当前值的差,再执行差那么多次点击,中间还要盯着过冲。区间越大,拆解越不划算。禁用中间框常见于「怕人输入非法字符」;真正发生的是合法大数也无法到达。粘贴来自计算器、表格、另一份单据的数字,同样走键入通道,禁键入等于禁掉这些来源。
边界
硬件旋钮、游戏手柄上的离散档位没有键盘,直接键入不存在,应用别的加速手段(长按、二级倍率)。年龄、评分这类本来就只有数档的量,键入「11」若非法,应拒绝并说明上界,而不是把框锁死。移动端弹出数字键盘时,键入才真正便宜;若弹出的是全文键盘,直接键入的优势会被找数字键吃掉。读屏器用户把中间框当常规编辑框来用,锁死中间框等于拿走他们的主路径。
怎么落地
- 让步进器中间的值可编辑:单击聚焦、全选、粘贴、用数字键盘写入。
- 写入后做一次范围校验,非法时保留用户刚打的串并说明合法区间,不要静默打回旧值。
- 大数场景把键入当作主路径,加减当作到达之后的微调。
- 验证:把当前值设为 1,目标设为业务上常见的大数(年天数、金额、库存)。只许点按钮到达就算失败;键入应一次到位,粘贴同样要通。