如何在 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 相关文章推荐
JavaScript接口实现代码 (Interfaces In JavaScript)
Jun 11 Javascript
jQuery学习之prop和attr的区别示例介绍
Nov 15 Javascript
node.js中的fs.symlink方法使用说明
Dec 15 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
Jan 28 Javascript
JavaScript中闭包之浅析解读(必看篇)
Aug 25 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
Sep 19 Javascript
浅谈基于Vue.js的移动组件库cube-ui
Dec 20 Javascript
浅谈Vue.js路由管理器 Vue Router
Aug 16 Javascript
深入分析element ScrollBar滚动组件源码
Jan 22 Javascript
详解vue组件中使用路由方法
Feb 12 Javascript
layui 上传图片 返回图片地址的方法
Sep 26 Javascript
vue实现匀速轮播效果
Jun 29 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
文章推荐系统(二)
2006/10/09 PHP
PHP+jQuery翻板抽奖功能实现
2015/10/19 PHP
PHP进阶学习之反射基本概念与用法分析
2019/06/18 PHP
JavaScript 私有成员分析
2009/01/13 Javascript
jquery中常用的SET和GET
2009/01/13 Javascript
Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
2009/08/09 Javascript
JQuery里面的几种选择器 查找满足条件的元素$(&quot;#控件ID&quot;)
2011/08/23 Javascript
IE6-IE9不支持table.innerHTML的解决方法分享
2012/09/14 Javascript
基于js与flash实现的网站flv视频播放插件代码
2014/10/14 Javascript
JavaScript仿微博输入框效果(案例分析)
2016/12/06 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
vue项目关闭eslint校验
2018/03/21 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
ng-repeat指令在迭代对象时的去重方法
2018/10/02 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
Python中字符串List按照长度排序
2019/07/01 Python
tensorflow生成多个tfrecord文件实例
2020/02/17 Python
Python编程快速上手——选择性拷贝操作案例分析
2020/02/28 Python
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
老师推荐信
2013/10/28 职场文书
医药代表个人求职信范本
2013/12/19 职场文书
节能环保演讲稿
2014/08/28 职场文书
银行奉献演讲稿
2014/09/16 职场文书
颐和园导游词400字
2015/01/30 职场文书
小学生安全教育心得体会
2016/01/15 职场文书
工作简历的自我评价
2019/05/16 职场文书
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL
如何使用pdb进行Python调试
2021/06/30 Python
win10更新失败无限重启解决方法
2022/04/19 数码科技
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers