第七节:扩展组件(lodash/富文本/echart/nprogress) 和 帮助类(日期格式化)

一. 扩展组件

1. lodash深拷贝

  主要用于对象的深拷贝。

(1). 通过指令【npm i lodash -S 】安装

(2). 在需要的页面中进行导入

import _ from 'lodash'

(3). 调用 cloneDeep方法进行深拷贝

 const form = _.cloneDeep(this.addForm)

2. 富文本编辑器

(更多用法详见:https://www.npmjs.com/package/vue-quill-editor)

(1). 通过指令【npm install vue-quill-editor --save】 进行安装

(2). 在main.js中进行导入注册

// 导入富文本编辑器
import VueQuillEditor from 'vue-quill-editor'
// 导入富文本编辑器对应的样式
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
// 将富文本编辑器,注册为全局可用的组件
Vue.use(VueQuillEditor)

(3). 在页面中直接调用,绑定数据即可

 <!-- 富文本编辑器组件 -->
 <quill-editor v-model="addForm.goods_introduce"></quill-editor>

效果图如下

3. Echarts

(更多用法详见官网 https://echarts.apache.org/zh/index.html) 

(1). 通过指令【npm i echarts -S】进行安装

(2). 在对应的页面中进行导入,并使用

<template>
  <div>
    <!-- 面包屑导航区域 -->
    <el-breadcrumb separator-class="el-icon-arrow-right">
      <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
      <el-breadcrumb-item>数据统计</el-breadcrumb-item>
      <el-breadcrumb-item>数据报表</el-breadcrumb-item>
    </el-breadcrumb>

    <!-- 卡片视图区域 -->
    <el-card>
      <!-- 2. 为ECharts准备一个具备大小(宽高)的Dom -->
      <div id="main" style="width: 750px;height:400px;"></div>
    </el-card>
  </div>
</template>

<script>
// 1. 导入 echarts
import * as echarts from 'echarts'
import _ from 'lodash'

export default {
  data () {
    return {

    }
  },
  created () {},
  // 此时,页面上的元素,已经被渲染完毕了!
  async mounted () {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'))
    // 绘制图表
    myChart.setOption({
      title: {
        text: 'ECharts 入门示例'
      },
      tooltip: {},
      xAxis: {
        data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
      },
      yAxis: {},
      series: [{
        name: '销量',
        type: 'bar',
        data: [5, 20, 36, 10, 10, 20]
      }]
    })
  },
  methods: {}
}
</script>

<style lang="less" scoped>
</style>
View Code

效果如下:

4. nprogress 进度条

  打开页面到页面完全加载后的一个进度条。

(1). 通过指令 【npm install nprogress -S】安装。

(2). 然后在main.js导入相应的包。

// 导入 NProgress 包对应的JS和CSS
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

(3). 在全局axios中的请求拦截 和 响应拦截中分别添加 开启和关闭

 

 最终效果:

 

 

 

二. 帮助类

 1. 日期格式化

  这里将日期格式化方法封装成全局过滤器,供整个项目使用。

在main.js中添加下面代码:

// 注册全局日期过滤器
Vue.filter('dateFormat', function (originVal) {
  const dt = new Date(originVal)
  const y = dt.getFullYear()
  const m = (dt.getMonth() + 1 + '').padStart(2, '0')
  const d = (dt.getDate() + '').padStart(2, '0')
  const hh = (dt.getHours() + '').padStart(2, '0')
  const mm = (dt.getMinutes() + '').padStart(2, '0')
  const ss = (dt.getSeconds() + '').padStart(2, '0')
  return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
})
View Code

调用:

 

 

 

 

 

 

 

 

 

!

  • 作       者 : Yaopengfei(姚鹏飞)
  • 博客地址 : http://www.cnblogs.com/yaopengfei/
  • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
  • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
 
posted @ 2021-03-25 11:57  Yaopengfei  阅读(334)  评论(0编辑  收藏  举报