如何在 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 相关文章推荐
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
Jan 13 Javascript
JavaScript包装对象使用介绍
Aug 29 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
Feb 04 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
Mar 05 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
Oct 30 Javascript
详解js图片轮播效果实现原理
Dec 17 Javascript
JQuery日期插件datepicker的使用方法
Mar 03 Javascript
jQuery加载及解析XML文件的方法实例分析
Jan 22 Javascript
JS实现复制功能
Mar 01 Javascript
js实现扫雷小程序的示例代码
Sep 27 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
Dec 27 Javascript
jQuery选择器之基本选择器用法实例分析
Feb 19 jQuery
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连接sql server 2005环境配置及问题解决
2014/08/08 PHP
curl和libcurl的区别简介
2015/07/01 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
判断对象是否Window的实现代码
2012/01/10 Javascript
利用浏览器全屏api实现js全屏
2014/01/16 Javascript
js阻止事件追加的具体实现
2014/10/15 Javascript
angular.js分页代码的实例
2016/07/27 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
前端跨域的几种解决方式总结(推荐)
2017/08/16 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
2017/11/28 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
通过实例解析json与jsonp原理及使用方法
2020/09/27 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
flask入门之文件上传与邮件发送示例
2018/07/18 Python
python实现QQ批量登录功能
2019/06/19 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
python中plt.imshow与cv2.imshow显示颜色问题
2020/07/16 Python
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
市场部规章制度
2014/01/24 职场文书
单位承诺书格式
2014/05/21 职场文书
销售行政专员岗位职责
2014/06/10 职场文书
个人汇报材料范文
2014/12/30 职场文书
教师工作决心书
2015/02/04 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
优质服务标语口号
2015/12/26 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
python flask框架快速入门
2021/05/14 Python
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
2021/06/08 Python
Django+Celery实现定时任务的示例
2021/06/23 Python