Reactjs 导航详细信息使用Monaco editor无法列出
您好,我正在使用,我希望能够使用选项卡将我的选择从一列移动到另一列。 但我在Github上遇到了这个问题: 箭头键需要用于在列表中导航,但不幸的是,我在列表中使用了一个编辑器,而箭头键被阻止在编辑器中 我想知道是否有办法禁用列表,将TabIndex设置为-1 或 如果光标位于文本末尾(如文本框),则可以释放箭头键Reactjs 导航详细信息使用Monaco editor无法列出,reactjs,monaco-editor,office-ui-fabric,fluent-ui,Reactjs,Monaco Editor,Office Ui Fabric,Fluent Ui,您好,我正在使用,我希望能够使用选项卡将我的选择从一列移动到另一列。 但我在Github上遇到了这个问题: 箭头键需要用于在列表中导航,但不幸的是,我在列表中使用了一个编辑器,而箭头键被阻止在编辑器中 我想知道是否有办法禁用列表,将TabIndex设置为-1 或 如果光标位于文本末尾(如文本框),则可以释放箭头键 根据以下原理,我得到了一些有用的东西: 收听摩纳哥编辑台上的活动 识别插入符号的名称 了解 获取一个字符串 摩纳哥编辑的焦点 知道这些之后,您可以检查插入符号是否位于最后一行的末尾,
根据以下原理,我得到了一些有用的东西:
import*as React from“React”;
导入“/styles.css”;
从“@fluentui/react”导入{DetailsList,IColumn};
从“编辑器”导入MonacoEditor;
导出默认函数App(){
常量列:IColumn[]=[
{
键:“名称”,
最小宽度:50,
最大宽度:50,
姓名:“姓名”,
onRender:(项目,索引)=>(
)
},
{
键:“类型”,
最小宽度:200,
名称:“类型”,
onRender:(项目,索引)=>{
返回(
{
编辑器.onKeyDown((事件)=>{
如果(event.code==“ArrowRight”){
const{column,lineNumber}=editor.getPosition();
const model=editor.getModel();
if(lineNumber==model?.getLineCount()){
const lastString=model?.getLineContent(行号);
如果(列>最后一个字符串?.length){
const nextInput=document.getElementById(
`默认值行-${index}`
);
(nextInput作为HTMLInputElement.focus();
}
}
}
如果(event.code==“箭头左”){
const{column,lineNumber}=editor.getPosition();
如果(行号===1&&列===1){
const previousInput=document.getElementById(
`名称行-${index}`
);
(以前输入为HTMLInputElement.focus();
}
}
});
}}
值={item.type}
/>
);
}
},
{
键:“defaultValue”,
最小宽度:100,
名称:“默认值”,
onRender:(项目,索引)=>(
)
}
];
const items=[{name:“name”,type:“type”,defaultValue:“name”}];
返回;
}
您可以看到它在这个代码沙盒中工作
摩纳哥编辑器似乎很复杂,可能您必须改进此代码以支持其他交互(例如:我不知道在折叠代码时是否有效)