--- order: 2 title: zh-CN: 加载更多 en-US: Load more --- ## zh-CN 可通过 `loadMore` 属性实现加载更多功能。 ## en-US Load more list with `loadMore` property. ```jsx import React, { useEffect, useState } from 'react'; import { List, Avatar, Button, Skeleton } from 'antd'; const count = 3; const fakeDataUrl = `https://randomuser.me/api/?results=${count}&inc=name,gender,email,nat,picture&noinfo`; export default () => { const [initLoading, setInitLoading] = useState(true); const [loading, setLoading] = useState(false); const [data, setData] = useState([]); useEffect(() => { fetch(fakeDataUrl) .then(res => res.json()) .then(res => { setInitLoading(false); setData(res.results); }); }, []); useEffect(() => { // Resetting window's offsetTop so as to display react-virtualized demo underfloor. // In real scene, you can using public method of react-virtualized: // https://stackoverflow.com/questions/46700726/how-to-use-public-method-updateposition-of-react-virtualized window.dispatchEvent(new Event('resize')); }, [JSON.stringify(data)]); const onLoadMore = () => { setLoading(true); const newData = data.concat( [...new Array(count)].map(() => ({ loading: true, name: {}, picture: {} })), ); setData(newData); fetch(fakeDataUrl) .then(res => res.json()) .then(res => { setLoading(false); setData(data.concat(res.results)); }); }; const loadMore = !initLoading && !loading ? (
) : null; return ( ( edit, more]} > } title={{item.name.last}} description="Ant Design, a design language for background applications, is refined by Ant UED Team" />
content
)} /> ); }; ``` ```css .demo-loadmore-list { min-height: 350px; } ```