react + antdesign入门(二) 编辑表格数据,将数据回显到表单内

运行结果:

在这里插入图片描述
在这里插入图片描述

表格组件 TableList.js

import {
    Table, Space, Button } from "antd";
import {
    Component } from "react";
 
 
const tableList = [
    {
   
        key: "1",
        name: "胡彦斌",
        age: 32,
        sex: "0",
        address: "西湖区湖底公园1号",
        like: ["唱歌", "跳舞"]
    },
    {
   
        key: "2",
        name: "胡彦祖",
        age: 42,
        sex: "0",
        address: "西湖区湖底公园1号",
        like: ["跳舞"]
    }
];
 
export default class TableList extends Component {
   
    constructor(props) {
   
        super(props);
        this.state = {
   
            visible: false, // 控制弹窗的显隐
            editData: {
   } // 弹窗的数据
        };
    }
    getColumns() {
   
        let self = this;
        return [
            {
   
                title: "姓名",
                dataIndex: "name",
                key: "name"
            },
            {
   
                title: "年龄",
                dataIndex: "age",
                key: "age"
            },
            {
   
                title: "住址",
                dataIndex: "address",
                key
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,下面是一个简单的实现示例: ```javascript import React from "react"; import { Table } from "antd"; const columns1 = [ { title: "姓名", dataIndex: "name", key: "name" }, { title: "年龄", dataIndex: "age", key: "age" }, { title: "住址", dataIndex: "address", key: "address" }, ]; const data1 = [ { key: "1", name: "John Brown", age: 32, address: "New York No. 1 Lake Park" }, { key: "2", name: "Jim Green", age: 42, address: "London No. 1 Lake Park" }, { key: "3", name: "Joe Black", age: 32, address: "Sidney No. 1 Lake Park" }, ]; const columns2 = [ { title: "科目", dataIndex: "subject", key: "subject" }, { title: "成绩", dataIndex: "score", key: "score" }, ]; const data2 = [ { key: "1", subject: "数学", score: 90 }, { key: "2", subject: "英语", score: 80 }, { key: "3", subject: "语文", score: 95 }, ]; const expandedRowRender = (record) => { const subTableData = [ { key: "1", subject: "数学", score: 90 }, { key: "2", subject: "英语", score: 80 }, { key: "3", subject: "语文", score: 95 }, ]; const subTableColumns = [ { title: "科目", dataIndex: "subject", key: "subject" }, { title: "成绩", dataIndex: "score", key: "score" }, ]; return <Table columns={subTableColumns} dataSource={subTableData} pagination={false} />; }; const TableWithNestedTable = () => { return ( <Table columns={columns1} dataSource={data1} pagination={false} expandedRowRender={expandedRowRender} /> ); }; export default TableWithNestedTable; ``` 首先,我们先定义两个表格的列和数据,分别为 `columns1` 和 `data1`,以及嵌套的表格的列和数据,分别为 `columns2` 和 `data2`。 然后,我们定义一个 `expandedRowRender` 函数,该函数接受一个参数 `record`,表示当前行的数据。在该函数中,我们返回一个嵌套的表格,该表格的列和数据为 `columns2` 和 `data2`。 最后,我们在主表格中添加 `expandedRowRender` 属性,并将其值设置为 `expandedRowRender` 函数,这样就可以实现表格嵌套两层表格的效果了。 注意,我们在嵌套的表格中将 `pagination` 属性设置为 `false`,以禁用分页功能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值