Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应网格布局-在第一次初始化后更新Tinymce编辑器高度_Javascript_Css_Reactjs_Tinymce_React Grid Layout - Fatal编程技术网

Javascript 反应网格布局-在第一次初始化后更新Tinymce编辑器高度

Javascript 反应网格布局-在第一次初始化后更新Tinymce编辑器高度,javascript,css,reactjs,tinymce,react-grid-layout,Javascript,Css,Reactjs,Tinymce,React Grid Layout,我有一个React组件,用于呈现tinymce编辑器的实例。目标是在编辑器初始化后动态调整其高度。我正在使用“React Grid Layout”包调整组件的大小 2个问题: 1.在哪里可以查找react组件中编辑器父级的高度变化。在哪个生命周期中? 2.应该在哪里更新编辑器的高度配置?在init方法中 render(){ <div id="wrapper"> <textArea id="tinymceSelector"></textArea>

我有一个React组件,用于呈现tinymce编辑器的实例。目标是在编辑器初始化后动态调整其高度。我正在使用“React Grid Layout”包调整组件的大小

2个问题: 1.在哪里可以查找react组件中编辑器父级的高度变化。在哪个生命周期中? 2.应该在哪里更新编辑器的高度配置?在init方法中

render(){
  <div id="wrapper">
      <textArea id="tinymceSelector"></textArea>
  </div>
}
如果使用React Grid Layout调整大小前后存在任何差异,则此父级高度将显示大小差异

在我找到高度并确定高度变化后(但在哪里?这是我的问题1)。我将使用以下内容更新tinymce配置:

editorinstance.theme.resizeTo (width, height);

谢谢

实施的解决方案是:

在第一次渲染时,我初始化tinymce编辑器,如下所示:

  • 我根据
    #wrapper
    高度计算编辑器应呈现的初始高度

  • 我在一个名为this的变量中设置了
    #wrapper
    的高度

  • 我没有将编辑器的高度设置为与
    #wrapper
    相同的高度,而是将其调整为仅占总值的70%。这可以防止滚动条。(我必须说,我想要一个不同的实现,因为当我调整它太小时,滚动条是持久的)

    此._editorHeight=此._wrapperHeight*0.7

  • 在初始化期间,我还必须在编辑器的配置中包含插件
    autoresize
    ,并设置
    autoresize\u min\u height=this.\u editorHeight

  • 初始化完成后,可按如下方式动态更新高度:

  • 组件willreceiveprops
    中,我再次计算
    包装器的高度

  • 评估旧包装与新包装的高度

  • 如果它们不同,那么:设置新高度
    tinymce.get(this.props.renderId).theme.resizeTo(this.\u editorWidth,this.\u editorHeight)

  • editorinstance.theme.resizeTo (width, height);