Angular Slickgrid单选择编辑器选值后自动打开下一行,是否为默认行为?如何禁用?
Angular Slickgrid 单选择下拉编辑器自动打开下一行编辑器问题解答
是否为默认行为?
是的,这是Slickgrid的默认行为。当完成单元格编辑(如下拉框选择值)后,组件默认会自动聚焦到下一行对应列并打开编辑器,官方示例中的“% Complete”列也存在该行为,可验证这一点。
禁用方法
你可以通过以下几种方式禁用该功能:
1. 全局禁用垂直回车导航
在Grid配置中添加enterNavigatesVertically: false,编辑完成后按下回车不会自动跳转下一行对应列:
this.gridOptions = { // 其他已有配置 enterNavigatesVertically: false };
2. 自定义编辑完成逻辑
重写editCommandHandler拦截编辑事件,仅执行提交逻辑,不触发后续自动导航:
this.gridOptions = { // 其他已有配置 editCommandHandler: (item, column, editCommand) => { editCommand.execute(); // 提交编辑内容 return false; // 阻止默认的自动导航行为 } };
3. 针对特定列禁用
在目标列的定义中添加disableAutoEdit: true,该列需手动触发编辑(如双击单元格),且编辑完成后不会自动打开下一行编辑器:
columns: [ { id: 'targetColumn', name: '目标列', field: 'targetField', editor: { model: Editors.SingleSelect, editorOptions: { maxHeight: 400 } as MultipleSelectOption }, disableAutoEdit: true } ]
内容的提问来源于stack exchange,提问作者vijay M
相关产品推荐
相关产品推荐

