2017-02-11 7 views
0

Я пробовал почти все, и ничего не работает. У меня есть компонент «Вариант», который я использую внутри .map в другом компоненте «Вопрос». У меня есть компонент CKEditor в компоненте, который работает отлично. Но когда я пытаюсь вызвать «заменить („опцию-“+ индекс), чтобы заменить CKEditor внутри каждого компонента, он не работаетКак использовать CKEditor внутри .map или .forEach в ReactJS?

Это мое текстовое поле внутри:.

<textarea name={"option-"+index}></textarea> 

Тогда я просто вызвать метод замены в componentDidMount моего <Question> компонента

CKEDITOR.replaceAll(); 

Если я пытаюсь использовать ту CKEDITOR.replace('"option-"+index') внутри моего <Option> компонента Я получаю сообщение об ошибке:

TypeError: Cannot read property 'getEditor' of undefined 
+0

Не могли бы вы предоставить JSFiddle об этой проблеме? –

+0

@LalliNuorteva это всего лишь текстовое поле внутри цикла, а в компонентеDidMount я вызываю CKEditor.replace ('option -' + index); –

ответ

0

Вы пробовали:

<textarea ref={"option-"+index}></textarea> 

(...) 

CKEDITOR.replace(this.refs["option-"+index]); 
+0

Я попытался использовать CKEDITOR.replace внутри моего компонента Option, но я получаю сообщение об ошибке. Поэтому я попытался сделать CKEDITOR.replaceAll() в моем компоненте «Вопрос», но он тоже не работает. –

+0

Я отредактировал мой вопрос –

+0

Вы пытались заменить 'index' на' refs'? Похоже, вы действительно не обращаетесь к элементу DOM. – daniloprates