如何在 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 相关文章推荐
关闭浏览器时提示onbeforeunload事件
Dec 25 Javascript
javascript实现当前页导航激活的方法
Feb 27 Javascript
实现前后端数据交互方法汇总
Apr 07 Javascript
js实现的倒计时按钮实例
Jun 24 Javascript
javascript数据结构之二叉搜索树实现方法
Nov 25 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
Nov 16 Javascript
JavaScript日期对象(Date)基本用法示例
Jan 18 Javascript
JS获得一个对象的所有属性和方法实例
Feb 21 Javascript
分享一个精简的vue.js 图片lazyload插件实例
Mar 13 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
Jul 31 Javascript
微信小程序控制台提示warning:Now you can provide attr &quot;wx:key&quot; for a &quot;wx:for&quot; to improve performance解决方法
Feb 21 Javascript
vue实现简易的双向数据绑定
Dec 29 Vue.js
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 中dirname(_file_)讲解
2007/03/18 PHP
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
javascript 清除输入框中的数据
2009/04/13 Javascript
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
JS字符串处理实例代码
2013/08/05 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
2015/09/05 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
2017/01/06 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
详解vue 组件
2020/06/11 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
python 全局变量的import机制介绍
2017/09/07 Python
Python有序字典简单实现方法示例
2017/09/28 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
python线程安全及多进程多线程实现方法详解
2019/09/27 Python
详解python itertools功能
2020/02/07 Python
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
凯特方迪化妆品官网:Kat Von D Beauty
2016/11/15 全球购物
美国鲍勃商店:Bob’s Stores
2018/07/22 全球购物
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
群众路线批评与自我批评
2014/02/06 职场文书
班组长岗位职责
2014/03/03 职场文书
2014年扶贫帮困工作总结
2014/12/09 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
清洁工工作总结
2015/08/11 职场文书
2016年学校禁毒宣传活动工作总结
2016/04/05 职场文书
Python Django ORM连表正反操作技巧
2021/06/13 Python
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript