如何在 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' }] }
利用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中实现图片的渲染操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]