在react中编辑字符串的中间总是到结尾

时间:2019-08-04 07:35:54

标签: javascript reactjs input material-ui

我在reactJS应用中输入了Material-ui。 一切都好。但是当我尝试编辑(添加或修改)字符串中间的文本时,光标总是在我输入的每个字母之后移至字符串的末尾。

我认为这是因为每次输入更改后都会重新渲染组件 因此,如果我不输入value属性,它将起作用。但我确实想写它的反应方式...

有什么建议吗?

def byte_to_bytestr(x):
    return x.to_bytes(1, byteorder='big')

def f(x, y):
    return b''.join(map(byte_to_bytestr, [0, x, y]))

1 个答案:

答案 0 :(得分:0)

我建议使用controlled inputs。这将解决跳转光标问题,这是React的方法。

跳跃是由重新渲染引起的。我假设this.props.onChange更新了父组件的状态并将其传递给该组件?最好将输入的状态保持在同一组件中,然后从那里调用父机会函数。