Как не допустить появления дополнительной буквы "г" - PullRequest
0 голосов
/ 01 июля 2019

В настоящее время я работаю над полем ввода, в котором оно должно вводить ссылку Reddit.

Мое поле ввода закодировано таким образом, что когда пользователь вводит символ, перед ним по умолчанию будет r/, а затем ввод пользователя.

Однако теперь проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда пользователь оставляет клавишу возврата, когда в поле ввода остается r/, после r/ появляется дополнительное значение r всякий раз, когда пользователь нажимает клавишу возврата. например r/r

Вот фрагмент моего кода:

case getType(ViewerAction.changeInputSubredditAddNewSource): {
            const s = action.payload.inputSubredditAddNewSource.split('/').slice(1).join('');

            if (action.payload.inputSubredditAddNewSource.indexOf('r/') === 0) {            
                return state.set('inputSubredditAddNewSource', `r/${s}`);
            }         
                const st = action.payload.inputSubredditAddNewSource;
                return state.set('inputSubredditAddNewSource', `r/${st}`);
        }

1 Ответ

2 голосов
/ 01 июля 2019

Это должно быть обработано в вашем компоненте, а не избыточно. Ваш ввод должен определять, когда нажимается кнопка возврата и если поле пустое (просто 'r /') - не обновлять значение поля.

Вы можете просто добавить оператор if в обработчике onChange вашего ввода, когда value.length нового ввода меньше 2 (1-й символ: 'r', 2-й символ: '/') - не обновлять значение - в противном случае обновить .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...