无法在反应单元案例的文本区域中有实时按键事件
Unable to have a real time key event in text area for unit cases in react
我的代码中有一个文本区域组件。 textarea 的初始值默认为 comments。我可以通过
模拟组件的变化
expect(component.find('.text-area').text()).toEqual('comments');
component.find('textarea').simulate('change', { target: { value: 'Comments'}});
expect(component.find('.text-area').text()).toEqual('Comments');
到目前为止 运行 没问题。但是当我试图拥有一个实时角色时,它失败了。我试过了
component.find('.text-area').simulate('keyDown', { which: keycode('k') });
发这篇文章之前我参考了很多帖子。找不到问题。
keyDown模拟应该只取keyCode值。像这样尝试:
component.find('.text-area').simulate('keyDown', { keyCode: 'k'});
而 jsx 应该是这样的:
<textarea
className='text-area'
onChange={(e) => {
this.setState({ textArea: e.target.value });
}}
onKeyDown={(e) => {
this.setState({ textArea: e.keyCode });
}}
>
{this.state.textArea}
</textarea>
我的代码中有一个文本区域组件。 textarea 的初始值默认为 comments。我可以通过
模拟组件的变化expect(component.find('.text-area').text()).toEqual('comments');
component.find('textarea').simulate('change', { target: { value: 'Comments'}});
expect(component.find('.text-area').text()).toEqual('Comments');
到目前为止 运行 没问题。但是当我试图拥有一个实时角色时,它失败了。我试过了
component.find('.text-area').simulate('keyDown', { which: keycode('k') });
发这篇文章之前我参考了很多帖子。找不到问题。
keyDown模拟应该只取keyCode值。像这样尝试:
component.find('.text-area').simulate('keyDown', { keyCode: 'k'});
而 jsx 应该是这样的:
<textarea
className='text-area'
onChange={(e) => {
this.setState({ textArea: e.target.value });
}}
onKeyDown={(e) => {
this.setState({ textArea: e.keyCode });
}}
>
{this.state.textArea}
</textarea>