Webix:tabview的文本编辑器集成问题

时间:2016-03-28 09:33:03

标签: ckeditor tinymce text-editor webix mercury-editor

接缝是tabview和文本编辑器集成的问题。只要用户不切换选项卡,编辑器就会显示并正常工作。当用户切换选项卡并返回到集成了文本编辑器的选项卡时,编辑器的内容将消失并变得无法响应(无法在其中键入文本)。

我使用以下编辑器对此进行了测试,结果不同:

  • ckeditor - 重置值,组件变得无法响应
  • tinymce - 重置值,组件变得反应迟钝
  • mercury - 重置值但组件有效(您可以重新键入文本)。
  • nicedit - 作品!

以下是示例代码定义。

webix.ui({
    container: 'richtext-div',
    view: "tabview",
    cells:[{
        header: 'Tab 1',
        view: 'form',
        elements: [{
            view: 'ckeditor',
            width: 800,
            height: 500,
            value: 'This is a test value for the rich text component'
        }]
    },{
        header: 'Tab 2',
        rows: [{
            template: 'This is the second tab'
        }]
    }]
});

之前有人已经解决了这个问题,请指教。 TNX。 Lefteris

2 个答案:

答案 0 :(得分:1)

你可以使用keepView属性

http://docs.webix.com/api__ui.multiview_keepviews_config.html

它改变了多视图的逻辑,以保留基于iframe的视图(例如ckeditor等)

view: "tabview",
multiview:{ keepViews:true },
cells:[{

这是一个代码段http://webix.com/snippet/8b9f24ea

答案 1 :(得分:0)

你知道Webix如何处理标签的切换吗?

我怀疑当切换标签时,它意外地破坏了TinyMCE底层DOM元素并在你返回时创建一个新元素?

如果你要离开TinyMCE的“标签”,你可能需要在离开标签之前remove() TinyMCE。当您返回选项卡时,需要再次init()编辑器。这是Web UI在编辑器打开时显示/隐藏或销毁DOM元素的常见问题。