From e4de6005defcfe9abcf8dca384b6bc7e53d37ad2 Mon Sep 17 00:00:00 2001 From: Zoe Date: Wed, 28 Feb 2018 10:30:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8A=E4=B8=8B=E9=94=AE?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=AD=A3=E5=B8=B8=E9=80=89=E6=8B=A9=E6=84=9F?= =?UTF-8?q?=E7=9F=A5=E5=91=BD=E4=BB=A4,=E4=BF=AE=E5=A4=8D=E6=84=9F?= =?UTF-8?q?=E7=9F=A5=E5=91=BD=E4=BB=A4=E9=87=8D=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/commandLineInput/InputHint.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/UI/Components/commandLineInput/InputHint.tsx b/src/UI/Components/commandLineInput/InputHint.tsx index 85e1005e3..5dca04447 100644 --- a/src/UI/Components/commandLineInput/InputHint.tsx +++ b/src/UI/Components/commandLineInput/InputHint.tsx @@ -84,7 +84,6 @@ export class InputHint extends React.Component this.m_InputEl.value += e.key; } } - this.handleOnChangeIntelliSense(this.m_InputEl.value); this.handleKeyboardEvent(e); if (e.keyCode === KeyBoard.Space) @@ -125,6 +124,7 @@ export class InputHint extends React.Component if (cmdName.indexOf(inputCmd) !== -1) { intelliSenseCmdList.push(cmdName); + continue; } if (searchReg.test(cmdName)) { @@ -134,7 +134,13 @@ export class InputHint extends React.Component intelliSenseCmdList.sort((c1, c2) => { - return c1.length < c2.length ? -1 : 1; + let i = 1; + if (c1.indexOf(inputCmd) < c2.indexOf(inputCmd)) + i = -1; + else if (c1.indexOf(inputCmd) === c2.indexOf(inputCmd)) + i = c1.length < c2.length ? -1 : 1 + + return i; }); this.setState({ intelliSenseCommand: intelliSenseCmdList, @@ -205,6 +211,7 @@ export class InputHint extends React.Component if (intellCout > 0) { let index = this.state.intelliSenseIndex; + if (e.keyCode == KeyBoard.ArrowUp) { index--; @@ -212,6 +219,7 @@ export class InputHint extends React.Component else if (e.keyCode == KeyBoard.ArrowDown) { index++; + } index = FixIndex(index, intellCout); this.setState({ intelliSenseIndex: index }); @@ -297,7 +305,10 @@ export class InputHint extends React.Component onChange={(e) => { this.handleOnChangeIntelliSense(e.target.value) }} value={this.state.command} ref={el => { this.m_InputEl = el; }} - onKeyDown={(e) => { if (e.ctrlKey || e.altKey) e.preventDefault(); }} + onKeyDown={(e) => + { + if (e.ctrlKey || e.altKey) e.preventDefault(); + }} />