CodeMirror 2 - 隐藏文本区域取消隐藏后编辑器高度错误

发布于 2024-11-15 20:42:10 字数 444 浏览 5 评论 0原文

所以我有一个被 DIV 容器包围的文本区域:

<div>
  <textarea id="code"> some text here </textarea>
</div>

并且该文本区域使用 CodeMirror 转换为代码编辑器:

CodeMirror.fromTextArea('code', {
  lineNumbers: true,
  matchBrackets: true,
  mode: 'text/html'
});

问题是当文本区域的容器被隐藏时(有时是隐藏的,具体取决于用户选择显示的内容) ,然后切换到取消隐藏后,CodeMirror 编辑器不会像应有的那样显示。它只显示一行,您必须实际单击它内部才能重新绘制并正确显示。

有谁知道解决这个问题吗?

so I have a textarea surrounded by a DIV container:

<div>
  <textarea id="code"> some text here </textarea>
</div>

and this textarea is tranformed into a code editor using CodeMirror:

CodeMirror.fromTextArea('code', {
  lineNumbers: true,
  matchBrackets: true,
  mode: 'text/html'
});

the problem is that when the container of the textarea is hidden (some times it is, depending on what the user chooses to display), then after toggling to unhide it the CodeMirror editor doesn't appear like it should. It only shows one line, and you have to actually click inside it to redraw and show properly.

Does anyone know a fix for this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

世态炎凉 2024-11-22 20:42:10

刷新()
如果您的代码执行某些操作来更改编辑器元素的大小(已侦听窗口大小调整)或取消隐藏它,您可能应该通过调用此方法来跟进,以确保 CodeMirror 仍然按预期显示。

来自 CodeMirror 手册 (假设您使用的是版本 2)

refresh()
If your code does something to change the size of the editor element (window resizes are already listened for), or unhides it, you should probably follow up by calling this method to ensure CodeMirror is still looking as intended.

from CodeMirror manual (assuming you're using version 2)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文