关于修改datav 轮播表背景图 0A2732

例:datav中轮播表组件只支持修改表头,内容的背景颜色,需求是需要改为使用背景图

官方文档

<dv-scroll-board :config="config" style="width:500px;height:220px" />

config属性

<colgroup><col style="width: 132.4px;"><col style="width: 132.4px;"><col style="width: 132.4px;"><col style="width: 132.4px;"><col style="width: 132.4px;"></colgroup>
|

属性

|

说明

|

类型

|

可选值

|

默认值

|
|

header

|

表头数据

|

Array

|


|

[]

|
|

data

|

表数据

|

Array<array></array>

|


|

[]

|
|

rowNum

|

表行数

|

Number

|


|

5

|
|

headerBGC

|

表头背景色

|

String

|


|

'#00BAFF'

|
|

oddRowBGC

|

奇数行背景色

|

String

|


|

'#003B51'

|
|

evenRowBGC

|

偶数行背景色

|

String

|


|

0A2732

|
|

waitTime

|

轮播时间间隔(ms)

|

Number

|


|

2000

|
|

headerHeight

|

表头高度

|

Number

|


|

35

|
|

columnWidth

|

列宽度

|

Array

|

[1]

|

[]

|
|

align

|

列对齐方式

|

Array

|

[2]

|

[]

|
|

index

|

显示行号

|

Boolean

|

true|false

|

false

|
|

indexHeader

|

行号表头

|

String

|

|

'#'

|
|

carousel

|

轮播方式

|

String

|

'single'|'page'

|

'single'

|
|

hoverPause

|

悬浮暂停轮播

|

Boolean

|


|

true

|

官方组件相关代码

<div class="dv-scroll-board" :ref="ref"> <div class="header" v-if="header.length && mergedConfig" :style="background-color: ${mergedConfig.headerBGC};"> <div class="header-item" v-for="(headerItem, i) in header" :key="${headerItem}${i}" :style="height: ${mergedConfig.headerHeight}px; line-height: ${mergedConfig.headerHeight}px; width: ${widths[i]}px;" :align="aligns[i]" v-html="headerItem" /> </div>

由此可看出通过配置config将背景色绑定到了style中,这就导致我们在页面中无法覆盖样式

错误覆盖样式代码:

<style lang="scss" scoped> .table .dv-scroll-board .header{ background-image: url('~@/assets/列表_表头背景.png') !important } </style>

正确覆盖样式代码:

去掉 scoped 关键字,因为scoped是对当前文件生效的,而引入的组件并不在此文件内,所以导致样式无法覆盖

<style lang="scss"> .table .dv-scroll-board .header{ background-image: url('~@/assets/列表_表头背景.png') !important; background-size: 100% !important; } </style>

关于 定制元素 只能使用html标签,不能引入Vue组件

var item = [i, '五常西溪风情', '98/45','<span syle="" class=""></span>'] var item = [i, '五常西溪风情', '98/45',<el-button class="" />] 无法显示

可选用第一种,在中定义样式

例:

<script> createList(){ var list = []; for (let i = 1; i <= 8; i++) { var percentStr = ' <div class="item"><div class="box"><div class="percent percent-1"><div class="percent-value percent-value-1]" style="width: 100%"></div></div></div><div class="value">30%</div></div>'; var item = [i, '五常西溪风情', '98/45',percentStr] list.push(item) } this.config = { waitTime:1000, rowNum:4, headerBGC:'', // oddRowBGC:'', evenRowBGC:'rgb(64,121,167,.0.2)', columnWidth:[50,120,120,80], header: ['排名', '小区名称', '整改流转/完成','占比数'], data: list }; }, </script> <style lang="scss"> .item {} </style>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章