Изменение ширины редактора ace теряет содержимое - PullRequest
0 голосов
/ 26 мая 2020

Мне нужно изменить ширину моего редактора ace после того, как пользователь ввел в него код. Однако, когда я изменяю ширину div, в котором находится редактор, текст не переносится в более тонкую ширину, вы просто больше не можете его видеть (см. https://jsfiddle.net/0d4whvsq/1/)

var editor = ace.edit("ace_editor_div");
editor.getSession().setUseWorker(false);

editor.setOptions({
    maxLines: 50,
    minLines: 30,
    tabSize:2,
    wrap:true,
});
//editor.$blockScrolling = Infinity;
editor.setValue("this is meant to be too much text for the width of the editor once the width is made smaller.")
$("#shrink_button").on("click",function(){
    $("#ace_editor_div").css("width","200px");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.11/ace.min.js"></script>
<script
  src="https://code.jquery.com/jquery-3.5.1.min.js"
  integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
  crossorigin="anonymous"></script>
<button id="shrink_button">
shrink</button>
</button>
<div id="ace_editor_div"></div>

Из приведенного выше примера видно, что я теряю много текста при сжатии редактора! Я не вижу никаких базовых c настроек, связанных с шириной, для решения этой проблемы, не хватает ли мне простого способа сохранить весь текст в редакторе после изменения размера? В настоящее время я думаю, что могу воссоздать весь редактор после изменения размера, но это, очевидно, не идеально.

1 Ответ

1 голос
/ 26 мая 2020

после изменения ширины нужно позвонить editor.resize()

...