From 89f02f466201e7541fd6b0be187c625aa1848409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=89?= <940119273@qq.com> Date: Mon, 10 Apr 2023 02:02:24 +0000 Subject: [PATCH] =?UTF-8?q?!2160=20=E4=BC=98=E5=8C=96:=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=9D=BF=E4=BB=B6=E5=87=B9=E6=A7=BD=E5=B1=9E=E6=80=A7=E7=9A=84?= =?UTF-8?q?=E5=AE=9E=E4=BD=93=E6=9B=B4=E6=96=B0=E6=80=A7=E8=83=BD,?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E9=87=8D=E5=A4=8D=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Add-on/showModal/GroovesModifyModal.tsx | 32 ++++++++++++++------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/src/Add-on/showModal/GroovesModifyModal.tsx b/src/Add-on/showModal/GroovesModifyModal.tsx index 7b65b447a..b62ff281a 100644 --- a/src/Add-on/showModal/GroovesModifyModal.tsx +++ b/src/Add-on/showModal/GroovesModifyModal.tsx @@ -3,17 +3,18 @@ import { observable } from "mobx"; import { observer } from "mobx-react"; import React from "react"; import { app } from "../../ApplicationServices/Application"; -import { safeEval } from "../../Common/eval"; import { KeyBoard } from "../../Common/KeyEnum"; import { UpdateDraw } from "../../Common/Status"; +import { safeEval } from "../../Common/eval"; import { Board } from "../../DatabaseServices/Entity/Board"; +import { Entity } from "../../DatabaseServices/Entity/Entity"; import { ExtrudeSolid } from "../../DatabaseServices/Entity/Extrude"; import { CommandWrap } from "../../Editor/CommandMachine"; import { ICommonOptionProps } from "../../UI/Components/Board/CommonBoardOption"; import { CommonModal } from "../../UI/Components/Modal/ModalContainer"; -import "./groove.less"; import { GrooveInfo } from "./GrooveInfo"; import { GroovesModal } from "./GroovesModal"; +import "./groove.less"; interface BoardProps { @@ -60,7 +61,7 @@ export class GroovesModifyModal extends React.Component[][]) + _ModifyOfPart(grooves: GrooveInfo[][], inputEls: React.RefObject[][], needUpdateEnts: Set) { let i = 0; for (let gs of grooves) @@ -82,9 +83,9 @@ export class GroovesModifyModal extends React.Component + _ModifyOfCheck = (e: GrooveInfo[][], needUpdateEnts: Set) => { for (let grooves of e) for (let gs of grooves) @@ -111,9 +112,9 @@ export class GroovesModifyModal extends React.Component { - this._ModifyOfPart(this._GrooveInfo, this._InputEls); //先遍历执行 手动修改过的值 + let needUpdateEnts = new Set; //更新 + + this._ModifyOfPart(this._GrooveInfo, this._InputEls, needUpdateEnts); //先遍历执行 手动修改过的值 if (this._InputEl1.current.value || this._InputEl2.current.value || this._InputEl3.current.value || this._InputEl4.current.value) { - this._ModifyOfCheck(this._GrooveInfo); //再修改打勾部分(打勾为批量修改 打勾部分的凹槽值改成 底下批量修改输入框里面的值) + this._ModifyOfCheck(this._GrooveInfo, needUpdateEnts); //再修改打勾部分(打勾为批量修改 打勾部分的凹槽值改成 底下批量修改输入框里面的值) } + + for (let ent of needUpdateEnts) + { + if (ent instanceof Board) + ent.Update(); + else + ent.Update(UpdateDraw.None); + } + }, "修改属性"); app.Editor.ModalManage.Destory(); };