You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ReactDataGrid 5.0.1版本编辑单元格输入(时强制关闭编辑模式问题

ReactDataGrid 5.0.1 版本 Windows Chrome 下单元格编辑异常问题

我们使用旧版本ReactDataGrid 5.0.1,因项目已上线生产环境,无法立即升级版本。双击表格单元格会进入编辑模式,输入括号(时会打开对应dropdown,该功能仅在Ubuntu系统下运行正常。
在Windows系统Chrome浏览器中,仅首个单元格编辑时输入(可以正常打开下拉菜单,其余单元格输入(时会强制关闭编辑模式,可参考下方演示内容。

依赖版本

"react-data-grid": "5.0.1",
"react-data-grid-addons": "5.0.4-2",

相关代码

按键处理逻辑

handleKeydown = (e) => {
        e.stopPropagation()
        if (e.key == "(") {
            this.setState({ showDropdown: true })
        } else if (e.key == ")") {
            this.setState({
                MDDvalue: [],
                showDropdown: false,
            })
        }
    }

单元格渲染代码

<div
                onKeyDown={this.stopPropagation}
                style={{ pointerEvents: `${isEditable ? "all" : "none"}` }}
                className="cell_bg-wrapper">
                <input
                    value={this.state.value}
                    ref="hybridinput"
                    onKeyDown={this.handleKeydown}
                    onChange={(e) => this.handleChangeComplete(e)}
                />
                {this.state.showDropdown ? (
                    <React.Fragment>
                        <div
                            onKeyDown={this.stopPropagation}
                            style={{
                                width: "100%",
                                position: "relative",
                                right: 0,
                                bottom: 5,
                                backgroundColor: "white",
                                color: "black",
                            }}>
                            <Select
                                value={this.state.MDDvalue}
                                onChange={this.addValue}
                                options={options}
                                defaultMenuIsOpen={true}
                                isMulti={true}
                                closeMenuOnSelect={!true}
                                onBlur={this.onBlur}
                                onKeyDown={this.onKeyDownofSelect}
                            />
                        </div>
                    </React.Fragment>
                ) : null}
            </div>

效果演示

静态效果截图

效果截图

动态操作演示

动态演示

内容的提问来源于stack exchange,提问作者Vikas Acharya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:06:02