2017-12-21 19 views
0

ここに私が試していることがありますが、ロジックがあまり正しくないと思います。テキストの長さに応じて動的にTinyMCEエディタの高さを変更する方法

私はエディタのテキストコンテンツを使用し、エディタの高さを動的に決定しようとしています。 tinymce.component.ts

ngAfterViewInit() { 
    tinymce.init({ 
      convert_urls: false, 
      selector: '#' + this.elementId, 
      // .... 
      // .... more properties... 
      // .... 
      setup: editor => { 
       editor.on('SetContent',function(e){ 
        const content = e.content; 

        var newHeight = String(content.length/2); 
        editor.theme.resizeTo("100%",newHeight);   
       }); 
      }, 
    }); 
} 

しかし、どういうわけか、エディタの高さは、まだおよそ右とダイナミック思われません。これを行うための良い方法はありますか?

+0

その時点であなたは小さなMCEを初期化していますか?私はライフサイクルフックを頼むことを意味する? –

+0

@ web-master-ngAfterViewInit()でやっています....それは適切な場所ですか?何とか小さなmceを初期化するだけで、私のプログラムは正常に動作しているようです。 – Ronaldo

+0

https://www.tinymce.com/docs/integrations/angular2/ - 便利なリンクです。私はそれほど多くの事実を知らない。高さを設定しているイベントのsetContentは、ngAfterViewInit自体でトリガーされますか? –

答えて

0

は、使用してみてくださいAutoresize Plugin

例:

ngAfterViewInit() { 
    tinymce.init({ 
    convert_urls: false, 
    selector: '#editor', 
    plugins: 'autoresize', 
    autoresize_min_height: 100, 
    autoresize_max_height: 1000, 
    autoresize_bottom_margin: 0 
    }); 
} 
+0

は無料ですか?そうでない場合は、これを行う自由な方法がありますか? – Ronaldo

+0

私はTinyMCE自体が無料であるとは確信していません –

+2

TinyMCEはオープンソースプロジェクトですので、オープンソースライセンスを遵守している限り、エディタ自体は「無料」です。 Autoresizeプラグインは、オープンソースプロジェクトの一部です。 –

関連する問題