element-ui el-table如何默认设置全局Loading样式?

1、如下图,element-ui el-table如何默认设置全局Loading样式?不想每个列表都加这个,个别el-table需要能覆盖默认的loading样式
图片.png

2、如何修改Loading组件的的默认图标和文本?

阅读 3.8k
2 个回答

在app.vue中修改就行了:

  .loadingclass {
    .el-loading-spinner {
      i {
      }
      .el-loading-text {
      }
    }
  }

内容的修改可用文档中该方法:
image.png
https://element.eleme.cn/2.3/...

解决的方法还是很多的,最简单的办法是用自定义组件加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>

演示链接

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题