javascript - antd table 组件中的数据怎么获取?

查看:534
本文介绍了javascript - antd table 组件中的数据怎么获取?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

最近在使用antd UI ,在用到table组件时,对于它的表格内容数据的获取,不知道该怎么办了。

const columns = [{
title: '手机号码',
dataIndex: 'mobile',
key:'mobile'

}, {

title: '用户名',
dataIndex: 'username',
key:'username'

}, {

title: '锁定状态',
dataIndex: 'lockedStatus',
key:'lockedStatus'

},{

title: '锁定时间',
dataIndex: 'lockedOn',
key:'lockedOn'

},{

title: '是否为管理员',
dataIndex: 'isAdmin',
key:'isAdmin'

},{

title: '创建时间',
dataIndex: 'createdOn',
key:'createdOn'

},{

title: '创建人',
dataIndex: 'createdBy',
key:'createdBy'

}];

const data = [];
const rows = this.props.versionGroupState.userGroupManageList;
for(let i = 0 ; i < rows.length; i++){

data.push({
    key: i,
    mobile: rows[i].mobile,
    username: rows[i].username,
    lockedStatus: rows[i].lockedStatus,
})

}

const { loading, selectedRowKeys } = this.state;

const rowSelection = {

selectedRowKeys,
onChange: this.onSelectChange.bind(this)

};

const hasSelected = selectedRowKeys.length > 0;

const pagination = {

total: data.length,
showSizeChanger: true,
onShowSizeChange(current, pageSize) {
    console.log('Current: ', current, '; PageSize: ', pageSize);
},
onChange(current) {
    console.log('Current: ', current);
}

}

columns 是表格的表头。
rows 是我异步获取的数据,也就是表格中要存放的数据。
我使用,官网中的方法,填充数据时,报错:

for(let i = 0 ; i < rows.length; i++){

data.push({
    key: i,
    mobile: rows[i].mobile,
    username: rows[i].username,
    lockedStatus: rows[i].lockedStatus,
})
}

请问,我该如何操作,怎么把rows 的数据解析到表格中?在网上也找不到相关的示例或教程,现在不知道该如何下手了,请问,有知道如何操作的大神,指点一二。谢谢!

解决方案

巳解决,下面是正确答案:

 //定义antd table 数据
        const data = [];
       
        const rows = this.props.versionGroupState.userGroupManageList;
       
        if(rows){
           
            pagination = {
                total: rows.total,
                showSizeChanger: true,
                //把下面这两个函数变为对象,这样它们的函数里就了this再bind this就没问题了
                onShowSizeChange:this.onShowSizeChange.bind(this),
                onChange:this.onChange.bind(this)
            }
           
            rowsList = rows.list;
            console.log("54564564" + rowsList);
           
            for(let i = 0 ; i < rowsList.length; i++){
                lockedStatu = rowsList[i].lockedStatus === 'false' ? '帐号巳锁定' : '帐号未锁定';
                isAdminManage = rowsList[i].isAdmin === 'true' ? '管理员' : '普通帐户';
               
                lockedTime = rowsList[i].lockedOn === null ? '' : '';
               
                let createdYear = this.formatDate.bind(this,rowsList[i].createdOn);
                console.log("5484216354654" + createdYear);
                createdTime = rowsList[i].createdOn ? createdYear : '';

                //push数据
                data.push({
                    key: i,
                    mobile: rowsList[i].mobile,
                    username: rowsList[i].username,
                    lockedStatus: lockedStatu,
                    lockedOn:lockedTime,
                    isAdmin:isAdminManage,
                    createdOn:createdTime,
                    createdBy:rowsList[i].createdBy
                })
            }
        }

这篇关于javascript - antd table 组件中的数据怎么获取?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆