我正在使用react-virualized在浏览器中以excel的格式显示数据。我需要制作一个功能,使我们登陆的单元格可以编辑。 为此,我们使用cellrenderer并检查我们所在的单元格是否可编辑(通过使用某些逻辑),然后将单元格更改为textarea。
现在的问题是,当我们在textarea上使用onblur时,textarea会使用静态文本更改回div。但由于我们在Div上使用onFocus事件,因此同一单元格会显示textarea。
相反应该发生的事情是,当我们通过按Tab键(将移动到当前单元格旁边的单元格)或按Enter键(将移动到当前单元格的单元格底部)登陆单元格时,字段应该可以编辑并打开再次按Tab键或在textarea上输入,应该更改单元格,并根据键移动到下一个目标单元格。
基本输入和事件:
<textarea
onkeydown={keydownfunction}
onblur = {blurfunction}
>
<div
onFocus={focusfunction}
>CellValue</div>
focusfunction( event ){
//check current object editable using this
yes //make cell editable.
no //do nothng
}
blurfunction(){
//exit edit mode.
//show div again
}
当我们从模糊函数返回时,再次调用焦点,其中agan反过来显示单元格可编辑。 我确信事件被添加到元素的方式有些混乱,我不确定。任何有关如何使用此功能的帮助都会很棒。 谢谢, UD