diff --git a/src/Add-on/DrawBoard/DrawLeftRightBoard.ts b/src/Add-on/DrawBoard/DrawLeftRightBoard.ts index f88d8c4c8..1094cc844 100644 --- a/src/Add-on/DrawBoard/DrawLeftRightBoard.ts +++ b/src/Add-on/DrawBoard/DrawLeftRightBoard.ts @@ -24,10 +24,10 @@ export class DrawLeftRight implements Command if (state === ModalState.Ok) { let data = store.m_BoardOption; - let lenght = data.height ? parseFloat(data.height) : 0; - let width = data.width ? parseFloat(data.width) : 0; - let thickness = data.thickness ? parseFloat(data.thickness) : 0; - let spacing = data.spaceSize ? parseFloat(data.spaceSize) : 0; + let lenght = parseFloat(data.height); + let width = parseFloat(data.width); + let thickness = parseFloat(data.thickness); + let spacing = parseFloat(data.spaceSize); let leftBarod = Board.CreateBoard(lenght, width, thickness, BoardType.Vertical) let rightBoard = Board.CreateBoard(lenght, width, thickness, BoardType.Vertical); diff --git a/src/Common/Utils.ts b/src/Common/Utils.ts index e73eea2a5..ca5c608ee 100644 --- a/src/Common/Utils.ts +++ b/src/Common/Utils.ts @@ -116,3 +116,14 @@ export async function readClipboardText() return await navigator["clipboard"].readText(); return ""; } + +/** + *输入不能为空且必须是数字 + * + * @param {string} v + * @returns + */ +export function isVailInput(v: string, canZero = true) +{ + return !(v === "" || isNaN(Number(v))); +} diff --git a/src/UI/Components/Board/BoardCommon.tsx b/src/UI/Components/Board/BoardCommon.tsx index 6fe1e4e90..0af93a8ba 100644 --- a/src/UI/Components/Board/BoardCommon.tsx +++ b/src/UI/Components/Board/BoardCommon.tsx @@ -3,6 +3,8 @@ import * as React from 'react'; import { Checkbox, Classes, Radio, RadioGroup } from '@blueprintjs/core'; import { BrRelativePos, BoardOption, TBBoardOption } from '../../Store/BoardInterface'; import { BoardStore } from '../../Store/BoardStore'; +import { isVailInput } from '../../../Common/Utils'; + //设置板件数据组件 export const SetBoardDataItem = observer(({ k, opt, title, isDisabled = false }: { k: string, title: string, isDisabled?: boolean, opt: BoardOption }) => @@ -11,11 +13,19 @@ export const SetBoardDataItem = observer(({ k, opt, title, isDisabled = false }: {title}: { + if (!isVailInput(e.target.value)) + { + e.target.className += " bp3-intent-danger" + } + else + { + e.target.className = "bp3-input" + } opt[k] = e.target.value; }} /> @@ -26,10 +36,18 @@ export const SetBoardDataItem2 = observer(({ k, opt, title }: { k: string, title