From 04f6f6db7ebab993d12879a07fda665adc0627cd Mon Sep 17 00:00:00 2001 From: Zoe Date: Mon, 30 Jul 2018 18:03:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A1=AE=E5=AE=9A=E5=80=BC=E5=89=8D=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E5=80=BC=E6=98=AF=E5=90=A6=E6=9C=89=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Add-on/DrawBoard/DrawLeftRightBoard.ts | 8 ++-- src/Common/Utils.ts | 11 ++++++ src/UI/Components/Board/BoardCommon.tsx | 22 ++++++++++- src/UI/Components/Board/BoardModal.tsx | 18 ++++++--- src/UI/Store/BoardStore.ts | 43 ++++++++++++++++++++++ 5 files changed, 90 insertions(+), 12 deletions(-) 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