UI组件 DataV | 轮播图

2,533 阅读2分钟

UI组件 DataV | 轮播图

ps:实习两个月了,忽然觉得自己在原地踏步,该做点什么改变了,那就从第一篇的dome开始吧!

前两天在做数据可视化的项目中的时候遇到一个轮播表,本来自己写了一个但是师傅说要自动滚动,推荐的用DataV上面的组件。

需求:一个表格内容自动滚动的轮播表

1. DataV的使用步骤:

  • 使用DataV第一步:阅读注意用前必看!!!

image.png

ps:这一步很重要!!! (我就没有仔细阅读导致后面出现问题)

  • 第二步安装
cd datav-project  //进入目录
npm add @jiaminghi/data-view  //通过npm或者yarn安装,二选一即可
yarn add @jiaminghi/data-view
  • 第三步注册
// 将自动注册所有组件为全局组件
import dataV from '@jiaminghi/data-view'

Vue.use(dataV)

-第四步按需引入

import { borderBox1 } from '@jiaminghi/data-view'

Vue.use(borderBox1)

然后就可以在该组件内使用你需要的模块了

2. 实际运用

首先确定要使用的组件模型:

image.png

template中使用标签:

<div class="body">
  <dv-scroll-board :config="config" style="width: 362px; margin: 16px 8px 0 8px;" />
</div>

在data中初始化

data(){
  return{
    config:{
      header: ['单位工程名称', '任务名称', '位置编码'],
      data:[],
    }
  }
}

在methods中通过axios请求接口数据,并赋值

method:{
  render(){
    axios.post("url",{parmas}).then(({data}) => {
        this.$nextTick(() =>{
          data.warningDTOList.forEach(item => {
            const arr = [];
            if(item.parentProjectName != null){
              arr.push(item.parentProjectName,item.wbsName,item.wbsFullNo)
              this.config.data.push(arr)
              this.config ={ ...this.config}  //这一步很重要,前面没有注意看文档,导致一直找不到数据没有渲染的原因,
            }
          })
        })
    }) //将接口返回的数据处理后赋值给this.config.data,注意返回数据的格式
  }
}

在mounted中调用

mounted(){
  this.render();
}

最后调整样式:

data(){
  return{
    config:{
      header: ['单位工程名称', '任务名称', '位置编码'],
      data:[],
      headerBGC:'rgba(221, 234, 255, 0.16)', //表头背景色
      oddRowBGC:'rgba(221, 234, 255, .2)', //奇数行背景色
      evenRowBGC:'rgba(221, 234, 255, .06)', //偶数行背景色
      headerHeight:'38'  //行高
    }
  }
}

最终效果:

image.png