0

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

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

  • ckeditor - 值被重置,组件变得无响应
  • tinymce - 值被重置,组件变得无响应
  • 水银 - 值已重置,但组件有效(您可以重新输入文本)。
  • 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'
        }]
    }]
});

以前有谁解决过这个问题,请指教。肿瘤坏死因子。左撇子

4

2 回答 2

1

您可以使用 keepView 属性

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

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

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

这是一个sippet http://webix.com/snippet/8b9f24ea

于 2016-03-29T13:26:25.863 回答
0

你知道 Webix 是如何处理选项卡的切换的吗?

我怀疑当切换选项卡时,它会意外破坏 TinyMCE 底层 DOM 元素并在您返回时创建一个新元素?

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

于 2016-03-28T20:42:56.203 回答