如何在 ant 的table中实现图片的渲染操作


Posted in Javascript onOctober 28, 2020

如何在 ant 的table中实现图片的渲染

如何在 ant 的table中实现图片的渲染操作

在使用react 的蚂蚁金服的ui库的时候,,平时用到的比较比较多的就是table组件,但是在ant官网上面,并没有在后台调取接口获取数据后,,如何将后台的http://lkjlkjlkj.jpg图片渲染到每一行的例子。。只有一个render的方法。。。查阅了一些资料,作为一个不是很资深的前端来说,忙活了一上午,。实现了这个功能。。。记录一下。。。

这里是table的使用

<Table
    selectHandle={false}
    onCtrlClick={ this.tableAction }
    header={this.tableHeader()}
    pagination={ true }
    scroll = {{y:450}}
    pageSize={10}
    getpage={this.getpage}
    currentPage={this.state.currentPage}
    data={this.state.dataSource}
    checkChang={this.checkChang} />

table中theader的渲染

tableHeader = () => {
   return [{
     dataIndex: '',
     title: 'Logo',
     width: 150,
     key : 'image',
     render:(record) => {
         return <img src={record.image} alt="" style={{width:'5  0px',height:'50px',borderRadius:'50%'}}/>
     }
   },{
     dataIndex: 'name',
     title: '名称',
     width: 150,
     key : 'name'
   },{
     dataIndex: 'label',
     title: '标签',
     width: 150,
     key : 'label'
   },{
     dataIndex: 'collectCount',
     title: '关注数',
     width: 150,
     key : 'collectCount'
   }, {
     dataIndex: 'topicCount',
     title: '帖子数',
     width: 150,
     key : 'topicCount'
   },{
     dataIndex: 'inTime',
     title: '创建时间',
     width: 150,
     key : 'inTime'
   }]
 }

如何在 ant 的table中实现图片的渲染操作

利用table 中 render的属性,,,将LOGO在tableHeader中render return一个img 标签,并将src={ record.image }

图片就正确的渲染到你的table中了。。拿走 不谢~~~

补充知识:ant design table 数据渲染,插槽使用

我就废话不都说了,大家还是直接看代码吧~

<a-table :columns="columns" :dataSource="dataList" :loading="loading" :pagination="false" :rowKey="(record,index) => index">
    <template slot="duty" slot-scope="text, record, index">
      <span v-if="text == 'general'">普通员工</span>
      <span v-if="text == 'expert'">专家</span>
      <span v-if="text == 'admin'">管理员</span>
    </template>
    <template slot="status" slot-scope="text, record, index">
      <span v-if="text == '1'">正常</span>
      <span v-if="text == '0'">失效</span>
    </template>
    <template slot="action" slot-scope="text, record, index">
      <a-button type="primary" size="small" @click="editUser(record)">编辑</a-button>
    </template>
  </a-table>
  
  // script 部分
  
  data(){
      return {
        columns:[
      {
        title: '用户账号',
        dataIndex: 'username',
      },
      {
        title: '姓名',
        dataIndex: 'name',
      },
      {
        title: '角色',
        dataIndex: 'duty',
        scopedSlots: {customRender: 'duty'}
      },
      {
        title: '状态',
        dataIndex: 'status',
        scopedSlots: {customRender: 'status'}
      },
      {
        title: '操作',
        dataIndex: 'action',
        scopedSlots: {customRender: 'action'},
      }],
        dataList: [],
        loading: false,
      }
    },
    created(){
      this.getList()
    },
    methods: {
     getList(){
        this.loading = true;
        this.$http.get('/getUsers.do').then(res => {
          if(res){
            this.dataList = res || []
          }
          this.loading = false;
        }).catch(err => {
          console.log(err)
        })
      },
      editUser(record){
        this.$refs.addModal.showModal(record)
      },
    }

1.columns 定义table 表头,以及和 dataList 的字段对应,

2. dataSource 为数据源,是一个数组,

3.loading 加载时loading,数据请求前设置 true,请求完成后设置 false,

4.插槽的使用

很多情况下,后端返回的数据是 数字,前端需要展示文字,这事使用插槽就会非常方便

1.首先,在 columns 中需要的部分添加 scopedSlots: {customRender: ‘status'}

2.table 中添加标签

<template slot="status" slot-scope="text, record, index">
  <span v-if="text == '1'">正常</span>
  <span v-if="text == '0'">失效</span>
</template>

customRender 的值和slot 的值相对应,slot-scope 中 text就是status的值(text可以自定义,key,item都可以), record 代表text所在的对象,可以通过 record 拿到该行的其他值. 比如

editUser(record){
  this.$refs.addModal.showModal(record)
},

把record作为参数传递,编辑改用户信息.

以上这篇如何在 ant 的table中实现图片的渲染操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery1.4后 jqDrag 拖动 不可用
Feb 06 Javascript
自制基于jQuery的智能提示插件一枚
Feb 18 Javascript
JQuery入门——事件切换之toggle()方法应用介绍
Feb 05 Javascript
详谈JavaScript内存泄漏
Nov 14 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
Apr 20 Javascript
举例讲解JavaScript中关于对象操作的相关知识
Nov 16 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
Mar 19 Javascript
Angular.js回顾ng-app和ng-model使用技巧
Apr 26 Javascript
js实现常用排序算法
Aug 09 Javascript
jQuery表格(Table)基本操作实例分析
Mar 10 Javascript
seajs中模块依赖的加载处理实例分析
Oct 10 Javascript
深入解析koa之中间件流程控制
Jun 17 Javascript
WebStorm中如何将自己的代码上传到github示例详解
Oct 28 #Javascript
原生JS生成指定位数的验证码
Oct 28 #Javascript
微信小程序接入vant Weapp组件的详细步骤
Oct 28 #Javascript
Ant-design-vue Table组件customRow属性的使用说明
Oct 28 #Javascript
通过JS判断网页是否为手机打开
Oct 28 #Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
Oct 28 #Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
Oct 28 #Javascript
You might like
PHP CURL获取返回值的方法
2014/05/04 PHP
php中用memcached实现页面防刷新功能
2014/08/19 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
2018/05/28 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
javascript面向对象之二 命名空间
2011/02/08 Javascript
jquery的ajax请求全面了解
2013/03/20 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
比较新旧两个数组值得增加和删除的JS代码
2013/10/30 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
利用JS实现scroll自定义滚动效果详解
2017/10/17 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
浅谈Vue为什么不能检测数组变动
2019/10/14 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
2019/10/21 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
python简单程序读取串口信息的方法
2015/03/13 Python
python实现用户登录系统
2016/05/21 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
Python Numpy:找到list中的np.nan值方法
2018/10/30 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
python安装后的目录在哪里
2020/06/21 Python
德国机车企业:FC-Moto
2017/10/27 全球购物
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
优秀毕业生求职推荐信范文
2013/11/21 职场文书
会计专业的自荐信
2013/12/12 职场文书
财务总经理岗位职责
2014/02/16 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
网球场地租赁协议范本
2014/10/07 职场文书
2014年少先队工作总结
2014/12/03 职场文书
教师节大会主持词
2015/07/06 职场文书
win10截图快捷键win+shift+s没有反应无法截图怎么解决?
2022/08/14 数码科技