Skip to content

科研专用数值输入组件

ParameterInput.vue 是一个高度封装的受控组件(Controlled Component)。在煤热解动力学仿真中,某些参数跨度极大,该组件通过焦点感知逻辑,实现了“编辑时显示原始值,脱焦时显示格式化科学值”的交互体验。


为了平衡编辑的便捷性与阅读的严谨性,组件采用了动态显示策略。

焦点状态感知

利用 isFocused 变量切换显示模式:聚焦时展示未截断的原始字符串,便于精确修改。

科学计数法转换

支持 toExponential(3),自动将极小数值格式化为学术论文常用的科学计数形式。

紧凑型 UI

采用 Tailwind w-28 h-6 紧凑布局,适配参数配置侧边栏(Sidebar)的有限空间。

自动类型修正

blur 阶段自动将 string 转换为 number,确保传给后端的数据类型一致性。

  1. 静态呈现:根据 isScientific 属性,展示如 1.500e-20.015
  2. 激活编辑:点击输入框,显示原始录入的完整数字,不进行截断。
  3. 双向绑定:通过 v-model (modelValue) 实时同步父组件状态。
  4. 数据落地:失去焦点时,执行 Number() 转换并触发最终格式化。

属性名类型默认值描述
modelValuenumber | string必填输入框绑定的数值
labelstring''备用描述标签
symbolstring''物理量符号(如 $E_a$, $k_0$)
unitstring''物理单位(如 kJ/mol, s⁻¹)
isScientificbooleanfalse是否开启科学计数法展示模式