From 479254a5ba58feada01749b217b7a71eaffe5d16 Mon Sep 17 00:00:00 2001 From: Jack <26012107+JackTheFlap@users.noreply.github.com> Date: Fri, 26 Feb 2021 10:44:31 +0000 Subject: [PATCH 1/4] Updated onChange Previously onChange would convert the dataSource to lower case, now the comparison is converted to lower case but the final output is provided as originally inputted. --- src/components/Input.js | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/src/components/Input.js b/src/components/Input.js index d5cc4bd..113b54d 100644 --- a/src/components/Input.js +++ b/src/components/Input.js @@ -57,28 +57,19 @@ const initState = { selectedSuggest: '', }; -export default class ACInput extends React.Component { +export default class ACInput extends React.PureComponent { inputRef = React.createRef() state = initState onChange = (e) => { const { dataSource, onChange } = this.props; - const { value, selectionStart } = e.target; - // 1. get last keyword - const lastWord = value.split(' ').pop().toLowerCase(); - if (!lastWord || selectionStart !== value.length) { - this.setState(initState); - onChange(value); - return; - } - // 2. filter suggest + const { value } = e.target; + // 1. filter suggest const suggest = dataSource - .map(keyword => keyword.toLowerCase()) - .filter(keyword => (keyword.indexOf(lastWord) === 0)) - .slice(0, 10); + .filter(keyword => (keyword.toLowerCase().indexOf(value.toLowerCase()) > -1)) const selectedSuggest = suggest[0] || ''; - // 3. update suggest array + // 2. update suggest array this.setState({ suggest, selectedSuggest }); onChange(value); } From a05feae40da64b5362b1d29e63267c42192db4ee Mon Sep 17 00:00:00 2001 From: Jack <26012107+JackTheFlap@users.noreply.github.com> Date: Fri, 26 Feb 2021 10:49:05 +0000 Subject: [PATCH 2/4] Update Input.js Line 167, added .toString() to display={displaySuggest} in order to remove 'Warning: Received `false` for a non-boolean attribute `display`.' --- src/components/Input.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Input.js b/src/components/Input.js index 113b54d..e9f863f 100644 --- a/src/components/Input.js +++ b/src/components/Input.js @@ -151,7 +151,7 @@ export default class ACInput extends React.PureComponent { style={style} className={className} /> - + { suggest.map(keyword => ( Date: Fri, 26 Feb 2021 10:50:25 +0000 Subject: [PATCH 3/4] Update Input.js Added missing semicolon --- src/components/Input.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Input.js b/src/components/Input.js index e9f863f..00783c5 100644 --- a/src/components/Input.js +++ b/src/components/Input.js @@ -67,7 +67,7 @@ export default class ACInput extends React.PureComponent { const { value } = e.target; // 1. filter suggest const suggest = dataSource - .filter(keyword => (keyword.toLowerCase().indexOf(value.toLowerCase()) > -1)) + .filter(keyword => (keyword.toLowerCase().indexOf(value.toLowerCase()) > -1)); const selectedSuggest = suggest[0] || ''; // 2. update suggest array this.setState({ suggest, selectedSuggest }); From 2b3a544099700aadfeb5e458188346e029093f2d Mon Sep 17 00:00:00 2001 From: JackTheFlap <26012107+JackTheFlap@users.noreply.github.com> Date: Fri, 26 Feb 2021 10:57:53 +0000 Subject: [PATCH 4/4] Bump to Version 1.03 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 62ec4f8..913c4c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@reactmaker/react-autocorrect-input", - "version": "1.0.2", + "version": "1.0.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index abe353f..6c8d80b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@reactmaker/react-autocorrect-input", "description": "Autocorrect input react component, suggested text when you type in.", - "version": "1.0.2", + "version": "1.0.3", "main": "bin/Input.js", "repository": { "type": "git",