javascript - React Ace 编辑器标记突出显示整行,甚至定义了 startCol 和 endCol 以限制列

标签 javascript reactjs ace-editor react-ace

我使用以下代码显示 Ace 编辑器并突出显示文本范围。

JS:

let markers = [];
markers.push({startRow: 6, startCol: 5, endRow: 7, endCol: 6, className: 'replacement_marker', type: 'text' });

react 渲染():

    return (
        <div>
            <AceEditor
                mode="java"
                theme="github"
                name="UNIQUE_ID_OF_DIV"
                value={this.state.value}
                markers={markers}
            />
        </div>
    );

CSS:

.replacement_marker {
   position: absolute;
   background-color: #FFFF00;
}

使用此代码,编辑器会突出显示整个第 6 行和第 7 行,而不会将突出显示限制在第 5 - 6 列。

enter image description here 只突出显示部分行而不突出显示整行的正确方法是什么?

最佳答案

在我的例子中,这是由于错误的自定义 CSS 覆盖了标记层的左侧和宽度值。

.ace_marker-layer {
  > div:not(.ace_selection){
    width: 100% !important;
    border-radius: unset !important;
    left: 0 !important;
  }
}

关于javascript - React Ace 编辑器标记突出显示整行,甚至定义了 startCol 和 endCol 以限制列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52583865/

相关文章:

javascript - 当选择选项更改时将 id 传递给函数

javascript - 如何在不实例化 Ace 编辑器实例的情况下使用 Ace 编辑器验证器?

javascript - ACE 编辑器 "Cannot read property ' getValue' of undefined"

javascript - 使用 momentjs 显示当前日期

javascript - 需要javascript数组格式

reactjs - 如何调整material-ui表格组件的行高

javascript - 重要 ES6 代码的文档示例

javascript - 如何使用 react-google-maps 访问 google.maps.Map 对象

jquery - 如何在 Ace 代码编辑器中创建悬停错误消息

javascript - 如何保持 Bootstrap 弹出窗口以便用户可以单击其中的按钮