Summernote 不会编辑其内容

Summernote will not edit its content

我正在与 summernote 作斗争。 我将 Vue 与 laravel 和 Inspinia 主题 (https://wrapbootstrap.com/theme/inspinia-responsive-admin-theme-WB0R5L90S) 结合使用。

我已经加载了 .css 和 .js 文件。我的问题是,summernote 不会编辑它的内容。工具栏中的按钮不起作用。

这是我的 vue 组件:

<style>
</style>
<template>
    <div>
        <div class="ibox-content no-padding">
            <div class="summernote" v-el:summernote>
                {{ infoText }}
            </div>

        </div>
    </div>
</template>
<script>
    export default  {
        data() {
            return {
                infoText: ''
            }
        },

        ready() {
            this.setupSummernote();
        },

        methods: {
            setupSummernote() {
                $(this.$els.summernote).summernote({
                    height: 250,
                    toolbar: [
                        ['style', ['style']],
                        ['font', ['bold', 'italic', 'underline', 'clear']],
                        ['color', ['color']],
                        ['para', ['ul', 'ol', 'paragraph']],
                        ['height', ['height']],
                        ['table', ['table']]
                    ],
                    onChange: function(contents, editable) {
                        this.infoText = contents;
                        console.log(contents, editable);
                    }.bind(this)
                });
            }
        }
    }
</script>

它确实显示了带有工具栏和样式化内容的 summernote 编辑器,但它不会触发 onChange 事件。有人知道我做错了什么吗?

部分画面显示异常css:

感谢您的努力!

你summernote的回调配置有误

这个:

 onChange: function(contents, editable) {
   this.infoText = contents;
   console.log(contents, editable);
 }.bind(this)

应该是这样的:

callbacks: {
  onChange: function(contents, editable) {
    this.infoText = contents;
    console.log(contents, editable);
  }.bind(this)
}

我使用了 Inspinia 主题的两个部分:

  • Inspinia 向导
  • summernote 编辑器的 Inspinia 版本

向导,结合 vue 搞砸了一些 jquery。这搞砸了 jquery 与 summernote jquery 冲突。

所以我用 vue 写了一个自定义向导,它成功了!