当前位置: 首页 > news >正文

antDesignPro a-table样式二次封装

antDesignPro是跟element-ui类似的一个样式框架,其本身就是一个完整的后台系统,风格样式都很统一。我使用的是antd pro vue,版本是1.7.8。公司要求使用这个框架,但是UI又有自己的一套设计。这就导致我需要对部分组件进行一定的个性化封装。
对antdesign vue的a-table进行二次封装:新建路径 components/comTable/index.vue

<script>
export default {name: 'com-table',props: {dataSource: Array,columns: Array},render () {const on = {...this.$listeners}const props = { ...this.$attrs, ...this.$props, ...{ dataSource: this.dataSource, columns: this.columns }}// slots循环const slots = Object.keys(this.$slots).map(slot => {return (<template v-slot={slot}>{ this.$slots[slot] }</template>)})const table = (<a-table props={props} scopedSlots={ this.$scopedSlots } on={on}>{slots} </a-table>)return (<div class="com-table">{ table }</div>)},
};
</script>
// 下面自定义表格样式
<style lang="less" scoped>
</style>

对comTable组件进行全局注册:路径:components/globalComponents.js

// 全局组件注册
import comTable from './comTable'
const globalComponents = {install (Vue) {Vue.component('comTable', comTable)}
}
export default globalComponents

main.js中添加

// 公共UI组件
import globalComponents from '@/views/spmSystem/components/globalComponents'
Vue.use(globalComponents)

页面使用示例,封装的comTable使用与a-table无异,仅改变了样式,方便表格样式的统一修改。

                <com-tablestyle="margin:-10px 5px 0 5px" :dataSource="dataSource" :columns="columnsThree" size="small" :pagination=false :scroll="{ x: '100%', y:170 }"><span slot="a" slot-scope="text" :style="{color:(text == '重大'?'red': ( text == '较大'?'#F98C00FE':'#D7B22EFE') )}">{{ text }}</span></com-table>
http://www.lryc.cn/news/246872.html

相关文章:

  • 找免费4K高清图片素材,就上这6个网站
  • 代码随想录算法训练营第35天| 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球
  • 成为AI产品经理——TPR、FPR、ROC、AUC
  • java: Internal error in the mapping processor: java.lang.NullPointerException
  • TCP知识点
  • 大语言模型(LLMs)在 Amazon SageMaker 上的动手实践(一)
  • 顶级数据恢复工具—— 最全的15个数据恢复软件榜单
  • 【图像分类】【深度学习】【Pytorch版本】Inception-ResNet模型算法详解
  • Ubuntu 22.03 LTS 安装deepin-terminal 实现 终端 分屏
  • HTTP协议,Web框架回顾
  • el-checkbox 对勾颜色调整
  • 系统管理精要:深度探索 Linux 监控与管理利器
  • vue3之echarts渐变柱状图
  • 有一种浪漫,叫接触Linux
  • 构建 App 的方法
  • laravel实现发送邮件功能
  • 概要设计检查单、需求规格说明检查单
  • 达梦列式存储和clickhouse基准测试
  • 【Web】NewStarCtf Week2 个人复现
  • Python实现Windows服务自启动、禁用、启动、停止、删除
  • 【华为OD题库-043】二维伞的雨滴效应-java
  • 百度手机浏览器关键词排名优化——提升关键词排名 开源百度小程序源码系统 附带完整的搭建教程
  • Git 的基本概念和使用方式。
  • MarkDown学习
  • 案例:某电子产品电商平台借助监控易保障网络正常运行
  • IntelliJ IDEA 中有什么让你相见恨晚的技巧
  • 游戏被攻击了怎么办
  • MySQL 索引类型
  • 哈希表——闭散列表
  • 【ArcGIS Pro微课1000例】0036:栅格影像裁剪与提取(矢量范围裁剪dem高程数据)