React TinyMCE редактор динамически устанавливает содержимое bbcode - PullRequest
0 голосов
/ 06 июня 2019

Я использую этот официальный компонент https://www.tiny.cloud/docs/integrations/react/

Я хочу использовать этот метод из документации https://www.tiny.cloud/docs/api/tinymce/tinymce.editor/#setcontent, чтобы определить bbcode в качестве содержимого для моего редактора.

Но я получаю ошибку:

this.editor.setContent не является функцией

Вот мой код

import React, { PureComponent } from 'react';
import { Editor } from '@tinymce/tinymce-react';

/**
 * Comment component.
 */

class Comment extends PureComponent {
  componentDidMount() {
    this.editor.setContent('[b]some[/b] html', { format: 'bbcode' });
  }

  render() {
    return (<Editor
      ref={(editor) => {
        this.editor = editor;
      }}
      apiKey="***"
    />);
  }
}

export default Comment;

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

Мне удалось заставить редактор TinyMCE работать с bbcode. Вот мой код:

import React, { PureComponent } from 'react';
import { Editor } from '@tinymce/tinymce-react';

/**
 * Comment component.
 */

class Comment extends PureComponent {
  constructor(props) {
    super(props);

    this.state = { content: 'this is a [url=https://google.com]link[/url]' };
    this.handleEditorChange = this.handleEditorChange.bind(this);
  }

  handleEditorChange(content) {
    this.setState({ content });
  }

  render() {
    return (<Editor
      value={this.state.content}
      onEditorChange={this.handleEditorChange}
      apiKey="***"
      init={{
        menubar: '',
        plugins: 'bbcode link code',
        toolbar: '',
      }}
    />);
  }
}

export default Comment;
0 голосов
/ 06 июня 2019

в tinymce-реагировать правильный способ установить начальный контент:

 <Editor
   initialValue="<p>This is the initial content of the editor</p>"    
 />

Ссылка: https://www.tiny.cloud/docs/integrations/react/#4replacetheappjsfile

Как вы можете видеть из источник методвы ищете не отображается в Редактор компонент.

...