脚本宝典收集整理的这篇文章主要介绍了Element UI/Plus中全局修改el-table默认样式的解决方案,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,Element 官网的表格样式默认是这样的:
如果我们需要改成这样:
那我们需要给el-table
和el-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-table
和el-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>
答案是可以的!
import Vue From 'vue' import { Table, TableColumn } from 'element-ui' // 获取组件的props const TableProps = Table.props const 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)
import { createApp } from 'vue' import App from './App.vue' import ElementPlus from 'element-plus' import { ElTable, ElTableColumn } from 'element-plus' // 获取组件的props const TableProps = Table.props const 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默认样式内容请搜索脚本宝典以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本宝典!
以上是脚本宝典为你收集整理的Element UI/Plus中全局修改el-table默认样式的解决方案全部内容,希望文章能够帮你解决Element UI/Plus中全局修改el-table默认样式的解决方案所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。