1、如下图,element-ui el-table如何默认设置全局Loading样式?不想每个列表都加这个,个别el-table需要能覆盖默认的loading样式
2、如何修改Loading组件的的默认图标和文本?
1、如下图,element-ui el-table如何默认设置全局Loading样式?不想每个列表都加这个,个别el-table需要能覆盖默认的loading样式
2、如何修改Loading组件的的默认图标和文本?
解决的方法还是很多的,最简单的办法是用自定义组件加slot来解决
就是把表格头写在一个自定义组件中,写好样式,留一个slot,用来加载表列
CustomTable.vue
<template>
<div>
<h1>
hello word
</h1>
<el-table
v-loading="loading"
element-loading-text="Loading..."
:element-loading-spinner="svg"
element-loading-svg-view-box="-10, -10, 50, 50"
element-loading-background="rgba(122, 122, 122, 0.8)"
:data="tableData"
style="width: 100%"
>
<slot></slot>
</el-table>
</div>
</template>
<script setup>
import { ref,onMounted } from 'vue'
const props = defineProps({
tableData:Object,
loading:Boolean
})
</script>
App.vue
<template>
<h2>
this is a test A A
</h2>
<custom-table :loading="loading" :tableData="tableData">
<el-table-column prop="date" label="Date" width="180" />
<el-table-column prop="name" label="Name" width="180" />
<el-table-column prop="address" label="Address" />
</custom-table>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import CustomTable from './CustomTable.vue'
const loading = ref(true)
setTimeout(()=>{
loading.value=false
},5000)
const svg = `
<path class="path" d="
M 30 15
L 28 17
M 25.61 25.61
A 15 15, 0, 0, 1, 15 30
A 15 15, 0, 1, 1, 27.99 7.5
L 15 15
" style="stroke-width: 4px; fill: rgba(0, 0, 0, 0)"/>
`
const tableData = [
{
date: '2016-05-02',
name: 'John Smith',
address: 'No.1518, Jinshajiang Road, Putuo District',
},
{
date: '2016-05-04',
name: 'John Smith',
address: 'No.1518, Jinshajiang Road, Putuo District',
},
{
date: '2016-05-01',
name: 'John Smith',
address: 'No.1518, Jinshajiang Road, Putuo District',
},
]
</script>
<style>
.example-showcase .el-loading-mask {
z-index: 9;
}
</style>
10 回答11.1k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
5 回答1.9k 阅读
在app.vue中修改就行了:
内容的修改可用文档中该方法:

https://element.eleme.cn/2.3/...