首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Summernote编辑器位于summernote工具栏的后面

Summernote编辑器位于summernote工具栏的后面
EN

Stack Overflow用户
提问于 2018-03-26 22:06:49
回答 1查看 555关注 0票数 1

我正在使用angularJS的夏季笔记。我写了一个包装器来让它工作。在我的html中,我尝试使用带有bootstrap折叠的summernote。当我切换面板时,summernote编辑器出现在summernote工具栏的后面。当我稍微调整窗口的大小时,它就被修复了。不知道问题出在哪里。

This how it shows up in the console

这是js包装器。

代码语言:javascript
复制
   @Component({
selector: 'summernote',
templateUrl: './summernote.html'})
  export class SummernoteComponent implements AfterViewInit, OnDestroy {
@ViewChild('input') input: ElementRef;

@Input() placeHolderText: string = "";
@Input() selectedText = null;

@Output() changeText = new EventEmitter<any>();
value: string;

constructor(private zone: NgZone) { }

ngAfterViewInit() {
    var config = this.buildConfigObject();
    if (typeof window !== 'undefined') {
        let _self = this;
        this.zone.runOutsideAngular(() => {
            $(_self.input.nativeElement).summernote(config);
            $(_self.input.nativeElement).on("summernote.change", function (value, contents, $editable) {
                // _self.value = contents;
                _self.value = contents.split("<p><br></p>").join("");
                _self.changeText.emit(_self.value);
            })

            if (_self.selectedText) {
                $(_self.input.nativeElement).summernote('pasteHTML', _self.selectedText);
            }

        });
        $(_self.input.nativeElement).summernote('disable');
        $(_self.input.nativeElement).summernote('enable');

    }
}

ngOnDestroy() {
    //$(this.input.nativeElement).timepicker('destroy');
}

buildConfigObject() {
    var config = {
        callbacks: {
            onChange: function (contents, $editable) {
            }
        },
        placeholder: this.placeHolderText,
        // airMode: true,
        minHeight: null,             // set minimum height of editor
        maxHeight: null,             // set maximum height of editor
        focus: true,
          popover: {}
    }
    return config;
}

}

这是html

代码语言:javascript
复制
        <div class="card card-default">

            <div class="tools">
                <a class="collapse" href="javascript:;"></a>
                <a class="config" data-toggle="modal" href="#grid-config"></a>
                <a class="reload" href="javascript:;"></a>
                <a class="remove" href="javascript:;"></a>
            </div>

            <div class="card-block no-scroll card-toolbar" style="padding:0px;">
                <div class="summernote-wrapper">
                    <div id="summernote" #input></div>
                </div>
            </div>
        </div>
EN

回答 1

Stack Overflow用户

发布于 2020-07-06 11:46:56

在显示之后,您应该构建编辑器。

Summernote将寻找用于建筑的元素高度和宽度。如果你在不可见模式下初始化它,它会出现错误。

代码语言:javascript
复制
// show is before animation and shown is after it.
// if you use tab, there is also a event: shown.bs.tab
$('#collapse').on('shown.bs.collapse', function() {
  $('#summernote').summernote(config);
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49493426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档