Y_QY 发表于 2024-8-1 15:58:55

tinymceeditor控件在弹出层无法使用要如何处理?

本帖最后由 Y_QY 于 2024-8-1 16:02 编辑

我在页面画了一个容器里面放了个tinymceeditor控件,然后对这个容器进行隐藏,后写了个方法用form.dialog去加载这个容器,实现点击后出现弹窗效果(如图2)
(图1)



代码执行后,运行发现tinymceeditor控件无法输入,通过看控制台发现有点像这个控件没加载完全的感觉
(图2)

(图3)
已排查确认:
1、在第一层这个div里的控件正常(证明控件非弹窗位置正常)
2、不触发隐藏效果去调用这个div异常(排除显示隐藏的效果影响)
3、正常加载时图3位置确认里面有内容而非只有<html><head></head><body></body></html>,从这点怀疑是否为加载不完全导致
4、控制台没有显示任何报错信息

补充信息:OA版本8.2.3

请问这种情况要怎么解决?

论坛管理员 发表于 2024-8-5 10:31:25

要重新加载一下



var _self = this;
var tinymceeditor = this.form.get("tinymceeditor");
tinymceeditor.destroy();
this.form.dialog({
   "title": "填写内容",
    "width": "1100",
   "height": "800",
   "moduleName": "div",
   "buttonList" : [
         {
             "type": "ok", //(string) 样式,彩色底的按钮
             "text": "确定", //(string)text:按钮显示名称
             "action": function(){ //(function) 按钮对应的点击事件
               //do something,this指向本对话框对象
                //var value = _self.form.get("textfield").getData(); //获取div_1中的组件textfield的值
                //if( !value ){
                //    _self.form.notice("请填写内容","info");
                //}else{
                   this.close();
                //}
             }
         },
         {
             "type": "cancel", //(string) 样式,灰色底的按钮
             "text": "取消",
             "action": function(){
               //do something
               this.close();
             }
         }
   ],
   onPostShow: function(){
         tinymceeditor._loadUserInterface();
   }.bind(this),
   onQueryClose: function(){
         tinymceeditor.destroy();
         tinymceeditor._loadUserInterface();
   }
});


Y_QY 发表于 2024-8-15 10:47:50

可以了,谢谢
页: [1]
查看完整版本: tinymceeditor控件在弹出层无法使用要如何处理?