【发布时间】:2021-01-24 13:55:59
【问题描述】:
我需要突出显示一段代码,但同时,我需要将代码放在单独的编号行上,以便为每一行代码保留 cmets,就像在 Github 上所做的那样。我设法做到了这一点,但是因为我突出显示了每一行的代码,所以不会正确突出显示多行上的“SQL”代码(仅突出显示第一行)并且我无法解决此问题。你有什么建议吗?
if (data.success === 1) {
setCodeLanguage(translateLanguage(data.code.language));
let rows = [];
data.code.source_code.split("\n").forEach((line, index) => {
rows.push(
<tr key={index} className="line">
<td className="line-number">{index + 1}</td>
<td id={"plus" + index} className="plus-square-line">
<PlusSquareTwoTone className="plus-square" />
</td>
<td id={"codeblock" + index}
className={'language-' + codeLanguage} style={rowStyle}>
{line}
</td>
</tr>
);
});
setCodeRows(rows);
for (let i = 0; i < codeRows.length; ++i) {
hljs.highlightBlock(document.getElementById("codeblock" + i));
}
【问题讨论】:
标签: javascript reactjs highlight.js