InputSubredditAddNewSource

InputSubredditAddNewSource

目前,我正在使用输入框,其中输入框用于输入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}`);
        }

最佳答案

这应该在您的组件中处理,而不是在redux中处理。您的输入应该检测何时单击退格按钮,以及该字段是否为空(只是“ r /”)-不要更新该字段的值。

当新输入的value.length小于2(第一个字符:'r',第二个字符:'/')时,您可以简单地在输入的onChange处理程序中添加if语句-不更新值-否则更新。

07-24 17:01