diff --git a/webui/src/components/ParameterForm.vue b/webui/src/components/ParameterForm.vue index ffe4dc3..13650fb 100644 --- a/webui/src/components/ParameterForm.vue +++ b/webui/src/components/ParameterForm.vue @@ -903,6 +903,15 @@ declare global { } } +// 禁用数字输入框的滚轮调整功能 +const preventWheelOnNumberInput = (e: Event) => { + const target = e.target as HTMLInputElement + if (target && target.type === 'number') { + e.preventDefault() + ;(target as HTMLElement).blur() + } +} + // 注册全局日志接收函数,供后端实时调用 onMounted(() => { // 程序启动时,根据雷暴日初始化地闪密度 @@ -910,6 +919,9 @@ onMounted(() => { params.advance.ng = Math.round(0.023 * Math.pow(params.parameter.td, 1.3) * 100) / 100 } + // 禁用数字输入框的滚轮调整 + document.addEventListener('wheel', preventWheelOnNumberInput, { passive: false }) + // 实时日志推送 window.addLogFromBackend = (log: { level: string; time: string; message: string }) => { logRef.value?.addLog(log.level as any, log.message) @@ -932,6 +944,7 @@ onMounted(() => { }) onUnmounted(() => { + document.removeEventListener('wheel', preventWheelOnNumberInput) window.addLogFromBackend = undefined window.receiveResult = undefined }) @@ -942,4 +955,15 @@ onUnmounted(() => { user-select: text; cursor: text; } + +/* 隐藏数字输入框的上下箭头 */ +:deep(input[type="number"]) { + -moz-appearance: textfield; +} + +:deep(input[type="number"]::-webkit-inner-spin-button), +:deep(input[type="number"]::-webkit-outer-spin-button) { + -webkit-appearance: none; + margin: 0; +} \ No newline at end of file