首页前端开发VUEElement UI/Plus中全局修改el-table默认样式的解决方案

Element UI/Plus中全局修改el-table默认样式的解决方案

时间2024-02-11 03:08:03发布访客分类VUE浏览872
导读:收集整理的这篇文章主要介绍了Element UI/Plus中全局修改el-table默认样式的解决方案,觉得挺不错的,现在分享给大家,也给大家做个参考。 目录起因解决方案在Vue2中在V...
收集整理的这篇文章主要介绍了Element UI/Plus中全局修改el-table默认样式的解决方案,觉得挺不错的,现在分享给大家,也给大家做个参考。
目录
  • 起因
  • 解决方案
    • 在Vue2中
    • 在Vue3中
  • 总结

    起因

    首先,Element 官网的表格样式默认是这样的:

    • el-table 无边框
    • el-table-column 行信息居左展示
    • el-table-column 当内容过长也没有溢出和显示tooltip的效果

    如果我们需要改成这样:

    那我们需要给el-tableel-table-column添加相应的PRops,即:

    el-table border>
          el-table-column prop="xxx" label="xxx" align="center" show-overflow-tooltip />
          el-table-column prop="xxx" label="xxx" align="center" show-overflow-tooltip />
          el-table-column prop="xxx" label="xxx" align="center" show-overflow-tooltip />
          !-- ... -->
        /el-table>
        

    这样,每个使用el-tableel-table-column的地方,都需要添加相应的props,这不仅增加我们的工作量,也让代码显得多余。

    我们能否让每个组件的代码都简化成以下这样,并且仍然保留边框、居中和超出文本溢出的效果呢,即:

    el-table>
          el-table-column prop="xxx" label="xxx" />
          el-table-column prop="xxx" label="xxx" />
          el-table-column prop="xxx" label="xxx" />
          !-- ... -->
        /el-table>
        

    答案是可以的!

    解决方案

    在Vue2中

    import Vue From 'vue'import {
     Table, TableColumn }
         from 'element-ui'// 获取组件的propsconst TableProps = Table.propsconst TableColumnProps = TableColumn.props// 修改默认props// 全局el-table设置TableProps.border.default = true // 边框// 全局el-table-column设置TableColumnProps.align.default = 'center' // 居中TableColumnProps.showOverflowTooltip.default = true // 文本溢出Vue.use(Table)Vue.use(TableColumn)

    在Vue3中

    import {
     createApp }
     from 'vue'import App from './App.vue'import ElementPlus from 'element-plus'import {
     ElTable, ElTableColumn }
     from 'element-plus'// 获取组件的propsconst TableProps = Table.propsconst TableColumnProps = TableColumn.props// 修改默认props// 全局el-table设置TableProps.border = {
     tyPE: Boolean, default: true }
     // 边框线// 全局el-table-column设置TableColumnProps.align = {
     type: String, default: 'center' }
     // 居中TableColumnProps.showOverflowTooltip = {
     type: Boolean, default: true }
         // 文本溢出const app = createApp(App)app.use(ElementPlus)

    这样只需要在全局设置一次,就可以在每个组件中生效,这样就可以少写很多代码了,同理我们也可以在全局设置其他组件的默认的props

    总结

    到此这篇关于Element UI/Plus中全局修改el-table默认样式的解决方案的文章就介绍到这了,更多相关Element UI全局修改el-table默认样式内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

    声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


    若转载请注明出处: Element UI/Plus中全局修改el-table默认样式的解决方案
    本文地址: https://pptw.com/jishu/609239.html
    vue中动态渲染数据时使用$refs无效的解决 Vue3 axios配置以及cookie的使用方法实例演示

    游客 回复需填写必要信息