@@ -140,7 +140,7 @@ class Mentions extends React.Component<MentionsProps, MentionsState> {
140140 public onKeyUp : React . KeyboardEventHandler < HTMLTextAreaElement > = event => {
141141 const { key, which } = event ;
142142 const { measureText : prevMeasureText , measuring } = this . state ;
143- const { prefix = '' , split = ' ' , onSearch, validateSearch } = this . props ;
143+ const { prefix = '' , onSearch, validateSearch } = this . props ;
144144 const target = event . target as HTMLTextAreaElement ;
145145 const selectionStartText = getBeforeSelectionText ( target ) ;
146146 const { location : measureIndex , prefix : measurePrefix } = getLastMeasureIndex (
@@ -153,22 +153,21 @@ class Mentions extends React.Component<MentionsProps, MentionsState> {
153153 return ;
154154 }
155155
156- // Skip if is the last one
157- if ( KeyCode . RIGHT === which && target . selectionStart === target . value . length ) {
158- return ;
159- }
160-
161156 if ( measureIndex !== - 1 ) {
162157 const measureText = selectionStartText . slice ( measureIndex + measurePrefix . length ) ;
163158 const validateMeasure : boolean = validateSearch ! ( measureText , this . props ) ;
164159 const matchOption : boolean = ! ! this . getOptions ( measureText ) . length ;
165160
166- if ( key === measurePrefix || measuring || ( measureText !== prevMeasureText && matchOption ) ) {
167- this . startMeasure ( measureText , measurePrefix , measureIndex ) ;
168- }
169-
170- // Stop if measureText is invalidate
171- if ( measuring && ! validateMeasure ) {
161+ if ( validateMeasure ) {
162+ if (
163+ key === measurePrefix ||
164+ measuring ||
165+ ( measureText !== prevMeasureText && matchOption )
166+ ) {
167+ this . startMeasure ( measureText , measurePrefix , measureIndex ) ;
168+ }
169+ } else if ( measuring ) {
170+ // Stop if measureText is invalidate
172171 this . stopMeasure ( ) ;
173172 }
174173
0 commit comments