vue2.x版本中使用summernote编辑器

16 篇文章 0 订阅
16 篇文章 0 订阅

summernote的基本属性

  summernote是一款基于jQuery的编辑器,vue社区中关于类似的编辑器也有很多,但是原有的就项目中使用了summernote,为了保持统一,故使用summernote!
显示效果如下,顶部的工具条为自定义配置的,后面讲到。
summernote编辑器
使用summernote需要先安装依赖:

npm install summernote
npm install jquery
npm install bootstrap
npm install popper.js

安装好依赖以后,还需要在main.js中进行以下设置:

import 'summernote'
// 导入summernote编辑器css样式
import 'summernote/dist/summernote.css'
// 导入bootstrap
import 'bootstrap'
// 导入bootstrapCss样式
import 'bootstrap/dist/css/bootstrap.css'
// 导入popper.js,popper.js是bootstrap下的一个特效
import 'popper.js'

由于summernote需要依赖jQuery,可以在main.js中进行全局引入,也可以在使用的位置局部引入。
具体使用代码:

<template>
  <div id="editor_view">
    <div id="summernote2"></div>
    <el-button type="primary" size="mini" @click="getInputValue">获取输入值</el-button>
  </div>
</template>

<script>
// 在当前页面导入jquery, 也可在全局导入
import $ from 'jquery'
export default {
  data () {
    return {
      // 富文本编辑器输入的内容
      contant: ''
    }
  },
 
  // 在mounted生命周期调用
  mounted () {
    this.summernote()
  },
  methods: {
    // 引用summernote
    summernote () {
      $('#summernote2').summernote({
        toolbar: [
          ['style'],
          ['style', ['bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'clear']],
          ['name', ['fontname']],
          ['size', ['fontsize']],
          ['color', ['color']],
          ['para', ['ul', 'ol', 'paragraph', 'height']],
          ['table'],
          ['options', ['undo', 'redo', 'fullscreen', 'codeview', 'help']]
        ],
        focus: true, 
        height: 200
      });
    },
   getInputValue () {
   	  // 获取summernote输入的值的方法 $('#summernote2').summernote('code')
      this.contant = $('#summernote2').summernote('code');
      console.log(this.contant)
    }
  }
}

</script>

<style scoped>
#editor_view >>> .btn {
  border-color: darkgrey;
}
#editor_view >>> .dropdown-toggle::after {
  display: none;
}

#editor_view >>> .note-toolbar {
  border-bottom: 1px solid darkgrey;
}
</style>

如何配置(工具栏)

  summernote的工具栏支持自定义配置,具体规则为:

toolbar: [
          ['namescope1',['item1','item2']],
          ['namescope2',['item1','item2']],
           ...
        ]

toolbar是一个数组,里面的每个工具栏按钮可以按命名名称划分为组,即想讲某些按钮编入一个分组显示,只需要按名称添加到组里即可(具体参考上面的完整实现代码)
在此分享一个方法,有点彭运气的成分,在配置toolbar时,由于没有一个完整的文档说明toolbar支持那些功能(按钮),查看源码包时发现有中文包,参照字段的中文配置了一下,除了一些小问题,其他的基本没有问题
注意:配置字体和字号这个两个按钮是,字段名称与其他存在差异

 toolbar: [
          ['style', ['bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'clear']],
          ['fontname', ['fontname']],
          ['fontsize', ['fontsize']],
          ['color', ['color']],
          ['para', ['ul', 'ol', 'paragraph', 'height']],
          ['table'],
          ['options', ['undo', 'redo', 'fullscreen', 'codeview', 'help']]
        ],

中文包中的对应字段:
在这里插入图片描述

细心观察的话就会发现:
像bold、italic、height等,直接写字段名称就可以,而size、name则需要写成fontsize、fontname。

获取数据(HTML内容)

$('#summernote').summernote('code'); //#summernote为初始化时的容器的id
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Vue 2.x 版本,你可以使用 pandas 库进行数据处理和分析,但需要在后端服务器进行处理,并将处理后的数据传递给 Vue 前端进行展示。 以下是一般的步骤: 1. 在后端服务器使用 Python 安装 pandas 库。可以使用 pip 命令运行 `pip install pandas` 进行安装。 2. 在后端服务器编写一个接口或路由,用于处理数据并返回给前端。你可以使用 Flask、Django 或其他后端框架来创建这个接口。 3. 在后端服务器的接口或路由,导入 pandas 库并使用它进行数据处理。例如,你可以读取 CSV 文件、执行数据筛选、聚合或其他操作。 4. 将处理后的数据转为 JSON 格式,并返回给前端。可以使用 Flask 的 `jsonify` 方法将数据转为 JSON 格式,并通过接口返回给前端。 5. 在 Vue 前端使用 axios 或其他类似的库发送 AJAX 请求调用后端接口,并获取返回的数据。在 Vue 组件可以使用生命周期钩子函数 `mounted` 或 `created` 来发送请求,并将返回的数据保存到 Vue 的 data 。 6. 在 Vue 组件,利用数据绑定和模板语法将数据展示在页面上。你可以使用 v-for 指令来遍历数据,并将其渲染为 HTML 元素。 需要注意的是,在 Vue 的前端不能直接使用 pandas 库进行数据处理,因为 Vue 是运行在浏览器的 JavaScript 框架,而 pandas 是一个在后端运行的 Python 库。因此,你需要通过后端服务器来进行数据处理,并将处理后的结果传递给前端。 希望这些步骤能帮助你在 Vue 2.x 版本使用 pandas 进行数据处理和展示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值