React-ace: Как я могу настроить высоту редактора автоматически под размер содержимого?

Созданный на 29 мар. 2018  ·  8Комментарии  ·  Источник: securingsincity/react-ace

Проблема

Я не хочу, чтобы у редактора была высота, я хочу, чтобы редактор отображал весь контент без полосы прокрутки, высоту как высоту контента

Как мне установить конфиг редактора или CSS?

Пример кода для воспроизведения вашей проблемы

использованная литература

Прогресс: #

Documentation question

Самый полезный комментарий

Не устанавливайте height и используйте maxLines={Infinity} чтобы высота редактора соответствовала вашему контенту и отключила вертикальную прокрутку.

Все 8 Комментарий

@ hh54188 U может изменять размер высоты редактора или передавать высоту в качестве опоры в редактор ace для достижения динамической высоты без полосы прокрутки
Итак, если ваш компонент выглядит так

  1. Первый подход
<AceEditor
  onLoad={onLoad}
  height={someInitialHeight}
  ...
/>
onLoad(editor){
  // Your editor options comes here
   editor.on('change', (arg, activeEditor) => {
      const aceEditor = activeEditor;
      const newHeight = aceEditor.getSession().getScreenLength() *
        (aceEditor.renderer.lineHeight + aceEditor.renderer.scrollBar.getWidth());
       aceEditor.container.style.height = `${newHeight}px`;
      aceEditor.resize();
    });
}



md5-2967d728d81c1ff90dc28eeb85463c7c



```js
getIntitialHeight(editor=){
  if(editor){
  let newHeight;
     newHeight = editor.getSession()
        .getScreenLength() *
        (editor.renderer.lineHeight + editor.renderer.scrollBar.getWidth());
      newHeight = newHeight > 70 ? newHeight : 70;
      return `${newHeight}px`;
 }
 return someInitialHeight
}

Надеюсь, это ответит на ваш вопрос!

@securingsincity
@ Vijayk93

пробовал это и у меня не работает; редактор сохраняет тот же размер

Вы можете использовать Stylesheet value inherit или 100% value :)

Образец:

    <AceEditor height="inherit" />
    <AceEditor height="100%" />

100% будет соответствовать родительскому, чтобы соответствовать содержимому, используйте параметры maxLines и minLInes ace, как показано в https://ace.c9.io/demo/autoresize.html

@ Bugaa92 Можно ли создать ручку или скрипку, чтобы мы могли это проверить?

Не устанавливайте height и используйте maxLines={Infinity} чтобы высота редактора соответствовала вашему контенту и отключила вертикальную прокрутку.

maxLines = {Бесконечность}

Это действительно сработало для меня

К сожалению, это не работает в режиме "Split" https://github.com/securingsincity/react-ace/blob/master/docs/Split.md ... у кого-то есть идеи, как добиться того же в Split Посмотреть?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги