Antd中Table控件呈现网络获取的json数据

本文介绍如何将通过网络获取的JSON数据在Ant Design的Table组件中进行展示。通过在componentWillMount阶段模拟获取数据,解析JSON并存储在state中,然后在Table组件的dataSource属性中引用这些数据,从而实现数据的动态呈现。这种方法适用于较大数据量的场景,且只需正确格式化数据,即可轻松展示。
摘要由CSDN通过智能技术生成

最近为了实现将从网络获取的json数据呈现了table中,做了几种尝试,最后确定了一种方案,即map解析获得的网络数据,将需要的data值丢到状态机state中,然后在呈现部分引用antd中的table,这样便达到了需要的效果。


1、呈现结果


2、普通用法

table的普通用法可以参考antd中table的用法: https://ant.design/components/table-cn/
这里粘出我跑出来的代码以及部分模块的说明。

import React, { Component } from 'react';
import { Table } from 'antd'
//引入antd样式,否则数据呈现便没有样式
import 'antd/dist/antd.css';
export default class App extends Component {

  constructor(props) {
    super(props);
    this.state = {
    
要实现antdTable组件树形结构数据的搜索,你可以按照以下步骤进行: 1. **数据准备**:确保你的数据每个节点都有一个唯一的`key`属性,这对于树形结构是必须的。 2. **搜索输入**:在页面上添加一个搜索输入框,用于输入搜索关键词。 3. **搜索方法**:编写一个搜索函数,该函数会对每个节点进行递归搜索,并根据节点的内容与搜索关键词匹配。 4. **过滤树数据**:在搜索函数,对树形数据进行遍历,并对每个节点的`title`或其他相关属性进行匹配。如果匹配成功,保留该节点,否则隐藏该节点。 5. **更新表格**:将搜索后的数据重新设置到Table组件的`data`属性,从而更新表格显示。 6. **展开状态保持**:在搜索过程,可以存储节点的展开状态,并在数据更新后重新展开之前展开的节点。 这里是一个简化的搜索函数示例(使用JavaScript): ```javascript function searchTreeData(treeData, keyword, expandedKeys = []) { let searchResult = []; const search = (data) => { data.forEach((node) => { let newNode = { ...node }; // 如果节点内容匹配搜索关键词,则保留该节点 if (node.title.includes(keyword)) { newNode.children = node.children ? search(node.children) : []; // 如果节点之前是展开的,现在也保留展开状态 if (expandedKeys.includes(newNode.key)) { expandedKeys.push(newNode.key); } } // 如果有子节点,继续递归搜索 if (newNode.children && newNode.children.length > 0) { newNode.children = search(newNode.children); } // 如果节点有子节点,或者它自身匹配关键词,则保留该节点 if (newNode.children && newNode.children.length > 0 || newNode.title.includes(keyword)) { searchResult.push(newNode); } }); return searchResult; }; return search(treeData); } ``` 你可以将这个函数绑定到搜索输入框的`onChange`事件,然后将返回的`searchResult`设置为表格数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值