我正在使用 TinyMCE 5.0.2(自托管)并通过 Official TinyMCE React Component添加编辑器。我已将我的编辑器置于使用React Modal创建的模式中。问题是所有子菜单都显示在屏幕顶部(固定)而不是相对于菜单项。
任何人都知道如何解决它?
我在这里启动了一个 JSFiddle,但我无法让 ReactTinymce 像在小提琴中的常规项目中那样接受道具。(ReactTinyMCE onEditorChange 方法没有触发并且值没有设置,我假设我没有正确使用它,但小提琴有时很奇怪......)
https://jsfiddle.net/cleanshooter/9qutaz3o/60/
const modalStyle = {
content : {
top : '25%',
left : '25%',
right : 'auto',
bottom : 'auto'
}
};
class View extends React.Component {
constructor(props) {
super(props);
this.state = {
isModalOpen: false,
content: 'Init'
};
this.updateContent = this.updateContent.bind(this);
}
openModalHandler() {
this.setState({isModalOpen: true});
}
closeModalHandler() {
this.setState({isModalOpen: false});
}
updateContent(value) {
console.log('changed: ', value);
this.setState({content: value})
}
render() {
return (
<div>
<h2>TinyMCE in a React-Modal Example</h2>
<button onClick={this.openModalHandler.bind(this)}>Open modal</button>
<ReactModal
isOpen={this.state.isModalOpen}
style={modalStyle}
onRequestClose={this.closeModalHandler.bind(this)}>
<ReactTinymce
value={this.state.content}
onEditorChange={value => this.updateContent(value)}
/>
<button onClick={this.closeModalHandler.bind(this)}>Close</button>
</ReactModal>
</div>
)
}
}
ReactModal.setAppElement('#app')
ReactDOM.render(<View name="React" />, document.getElementById('app'));