云衣坊 發表於 2020-8-7 21:22:00

React版Ant Design 4.5.4中Table动态获取数据(React)

<div data-cke-filler-webkit="start" data-cke-temp="1">&nbsp;</div>
<div class="cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="代码段" data-cke-widget-id="0">
<pre class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="codeSnippet" data-cke-widget-data="{&amp;quot;classes&amp;quot;:[],&amp;quot;lang&amp;quot;:&amp;quot;javascript&amp;quot;,&amp;quot;code&amp;quot;:&amp;quot;import React from 'react'\nimport { Row, Col, Space, Table, Button, notification, Pagination } from 'antd';\nimport axios from 'axios'\n\nexport default class TableCom extends React.Component {\nstate = {\n    tableData: [],\n    selectedRowKeys: [], // Check here to configure the default column\n    total: 30, // for Pagination\n    columns: [\n      {\n      title: 'ID',\n      dataIndex: 'id',\n      width: 30,\n      },\n      {\n      title: '标题',\n      dataIndex: 'title',\n      width: 500,\n      },\n      {\n      title: '内容',\n      dataIndex: 'content'\n      },\n    ]\n};\n\nhandleDeleteArticle(){\n    if(this.state.selectedRowKeys.length === 0){\n      notification['error']({\n      message: '错误提示',\n      description:\n          '请选择要删除的内容!',\n      });\n    }else{\n      notification['success']({\n      message: '正确提示',\n      description:\n          `将要删除${JSON.stringify(this.state.selectedRowKeys)}`,\n      });\n    }\n}\n\nonSelectChange = selectedRowKeys =&amp;gt; {\n    console.log('selectedRowKeys changed: ', selectedRowKeys);\n    this.setState({ selectedRowKeys });\n};\n\n// 获取表格数据\ngetData(pageNumber, pageSize) {\n    axios.get(`/article/all/?pageSize=${pageSize}&amp;amp;pageNumber=${pageNumber}&amp;amp;sortName=id&amp;amp;sortOrder=desc&amp;amp;_=1595230808893`).then((resp) =&amp;gt; {\n      console.log(\&amp;quot;all data:\&amp;quot;);\n      console.log(resp);\n      let ajaxData = [];\n      for (let i = 0; i &amp;lt; resp.data.rows.length; i++) {\n      ajaxData.push({\n          key: resp.data.rows.id,\n          id: resp.data.rows.id,\n          title: resp.data.rows.title,\n          content: resp.data.rows.content,\n      });\n      }\n\n      this.setState({\n      tableData: ajaxData,\n      total: resp.data.total\n      })\n\n    }, (err) =&amp;gt; {\n      console.log(err);\n    });\n}\n\nonChange = (pageNumber, pageSize) =&amp;gt; {\n    this.getData(pageNumber, pageSize);\n};\n\ncomponentDidMount() {\n    this.getData(1, 10);\n}\n\nrender() {\n    const { selectedRowKeys } = this.state;\n\n    const rowSelection = {\n      selectedRowKeys,\n      onChange: this.onSelectChange\n    };\n\n    return (&amp;lt;&amp;gt;\n      &amp;lt;Row style={{paddingBottom: 15}}&amp;gt;\n      &amp;lt;Col span={24}&amp;gt;&amp;lt;Space size=\&amp;quot;small\&amp;quot;&amp;gt;&amp;lt;Button type=\&amp;quot;primary\&amp;quot; ghost&amp;gt;添加&amp;lt;/Button&amp;gt;&amp;lt;Button type=\&amp;quot;primary\&amp;quot; ghost onClick={()=&amp;gt;this.handleDeleteArticle()}&amp;gt;删除&amp;lt;/Button&amp;gt;&amp;lt;/Space&amp;gt;&amp;lt;/Col&amp;gt;\n      &amp;lt;/Row&amp;gt;\n      &amp;lt;Row&amp;gt;\n      &amp;lt;Col span={24}&amp;gt;\n          &amp;lt;Table columns={this.state.columns} dataSource={this.state.tableData} rowSelection={rowSelection} pagination={false} bordered\n            onRow={record =&amp;gt; {\n            return {\n                onClick: event =&amp;gt; { console.log(record) },\n                onDoubleClick: event =&amp;gt; { console.log(event) }\n            }\n            }}\n          &amp;gt;\n          &amp;lt;/Table&amp;gt;\n          &amp;lt;div style={{ height: 15 }}&amp;gt;&amp;lt;/div&amp;gt;\n          &amp;lt;Pagination\n            total={this.state.total}\n            showSizeChanger\n            showQuickJumper\n            showTotal={total =&amp;gt; `共 ${total} 条`}\n            onChange={this.onChange}\n          /&amp;gt;\n      &amp;lt;/Col&amp;gt;\n      &amp;lt;/Row&amp;gt;\n    &amp;lt;/&amp;gt;);\n}\n}&amp;quot;}"><code class="hljs language-javascript"><span class="hljs-keyword">import React <span class="hljs-keyword">from <span class="hljs-string">'react'
<span class="hljs-keyword">import { Row, Col, Space, Table, Button, notification, Pagination } <span class="hljs-keyword">from <span class="hljs-string">'antd';
<span class="hljs-keyword">import axios <span class="hljs-keyword">from <span class="hljs-string">'axios'

<span class="hljs-keyword">export <span class="hljs-keyword">default <span class="hljs-class"><span class="hljs-keyword">class <span class="hljs-title">TableCom <span class="hljs-keyword">extends <span class="hljs-title">React.<span class="hljs-title">Component {
state = {
    <span class="hljs-attr">tableData: [],
    <span class="hljs-attr">selectedRowKeys: [], <span class="hljs-comment">// Check here to configure the default column
    total: <span class="hljs-number">30, <span class="hljs-comment">// for Pagination
    columns: [
      {
      <span class="hljs-attr">title: <span class="hljs-string">'ID',
      <span class="hljs-attr">dataIndex: <span class="hljs-string">'id',
      <span class="hljs-attr">width: <span class="hljs-number">30,
      },
      {
      <span class="hljs-attr">title: <span class="hljs-string">'标题',
      <span class="hljs-attr">dataIndex: <span class="hljs-string">'title',
      <span class="hljs-attr">width: <span class="hljs-number">500,
      },
      {
      <span class="hljs-attr">title: <span class="hljs-string">'内容',
      <span class="hljs-attr">dataIndex: <span class="hljs-string">'content'
      },
    ]
};

handleDeleteArticle(){
    <span class="hljs-keyword">if(<span class="hljs-keyword">this.state.selectedRowKeys.length === <span class="hljs-number">0){
      notification[<span class="hljs-string">'error']({
      <span class="hljs-attr">message: <span class="hljs-string">'错误提示',
      <span class="hljs-attr">description:
          <span class="hljs-string">'请选择要删除的内容!',
      });
    }<span class="hljs-keyword">else{
      notification[<span class="hljs-string">'success']({
      <span class="hljs-attr">message: <span class="hljs-string">'正确提示',
      <span class="hljs-attr">description:
          <span class="hljs-string">`将要删除<span class="hljs-subst">${<span class="hljs-built_in">JSON.stringify(<span class="hljs-keyword">this.state.selectedRowKeys)}`,
      });
    }
}

onSelectChange = <span class="hljs-function"><span class="hljs-params">selectedRowKeys =&gt; {
    <span class="hljs-built_in">console.log(<span class="hljs-string">'selectedRowKeys changed: ', selectedRowKeys);
    <span class="hljs-keyword">this.setState({ selectedRowKeys });
};

<span class="hljs-comment">// 获取表格数据
getData(pageNumber, pageSize) {
    axios.get(<span class="hljs-string">`/article/all/?pageSize=<span class="hljs-subst">${pageSize}&amp;pageNumber=<span class="hljs-subst">${pageNumber}&amp;sortName=id&amp;sortOrder=desc&amp;_=1595230808893`).then(<span class="hljs-function">(<span class="hljs-params">resp) =&gt; {
      <span class="hljs-built_in">console.log(<span class="hljs-string">"all data:");
      <span class="hljs-built_in">console.log(resp);
      <span class="hljs-keyword">let ajaxData = [];
      <span class="hljs-keyword">for (<span class="hljs-keyword">let i = <span class="hljs-number">0; i &lt; resp.data.rows.length; i++) {
      ajaxData.push({
          <span class="hljs-attr">key: resp.data.rows.id,
          <span class="hljs-attr">id: resp.data.rows.id,
          <span class="hljs-attr">title: resp.data.rows.title,
          <span class="hljs-attr">content: resp.data.rows.content,
      });
      }

      <span class="hljs-keyword">this.setState({
      <span class="hljs-attr">tableData: ajaxData,
      <span class="hljs-attr">total: resp.data.total
      })

    }, (err) =&gt; {
      <span class="hljs-built_in">console.log(err);
    });
}

onChange = <span class="hljs-function">(<span class="hljs-params">pageNumber, pageSize) =&gt; {
    <span class="hljs-keyword">this.getData(pageNumber, pageSize);
};

componentDidMount() {
    <span class="hljs-keyword">this.getData(<span class="hljs-number">1, <span class="hljs-number">10);
}

render() {
    <span class="hljs-keyword">const { selectedRowKeys } = <span class="hljs-keyword">this.state;

    <span class="hljs-keyword">const rowSelection = {
      selectedRowKeys,
      <span class="hljs-attr">onChange: <span class="hljs-keyword">this.onSelectChange
    };

    <span class="hljs-keyword">return (&lt;&gt;
      &lt;Row style={{paddingBottom: 15}}&gt;
      &lt;Col span={24}&gt;&lt;Space size="small"&gt;&lt;Button type="primary" ghost&gt;添加&lt;/Button&gt;&lt;Button type="primary" ghost onClick={()=&gt;this.handleDeleteArticle()}&gt;删除&lt;/Button&gt;&lt;/Space&gt;&lt;/Col&gt;
      &lt;/Row&gt;
      &lt;Row&gt;
      &lt;Col span={24}&gt;
          &lt;Table columns={this.state.columns} dataSource={this.state.tableData} rowSelection={rowSelection} pagination={false} bordered
            onRow={record =&gt; {
            return {
                onClick: event =&gt; { console.log(record) },
                onDoubleClick: event =&gt; { console.log(event) }
            }
            }}
          &gt;
          &lt;/Table&gt;
          &lt;div style={{ height: 15 }}&gt;&lt;/div&gt;
          &lt;Pagination
            total={this.state.total}
            showSizeChanger
            showQuickJumper
            showTotal={total =&gt; `共 ${total} 条`}
            onChange={this.onChange}
          /&gt;
      &lt;/Col&gt;
      &lt;/Row&gt;
    &lt;/&gt;);
}
}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
<span class="cke_reset cke_widget_drag_handler_container"><img width="15" height="15" class="cke_reset cke_widget_drag_handler lazyload" title="点击并拖拽以移动" data-cke-widget-drag-handler="1" data-src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="></span></div>
<p>其中:package.json</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="代码段" data-cke-widget-id="1">
<pre class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="codeSnippet" data-cke-widget-data="{&amp;quot;classes&amp;quot;:[],&amp;quot;lang&amp;quot;:&amp;quot;javascript&amp;quot;,&amp;quot;code&amp;quot;:&amp;quot;{\n\&amp;quot;name\&amp;quot;: \&amp;quot;antd-demo\&amp;quot;,\n\&amp;quot;version\&amp;quot;: \&amp;quot;0.1.0\&amp;quot;,\n\&amp;quot;private\&amp;quot;: true,\n\&amp;quot;dependencies\&amp;quot;: {\n    \&amp;quot;@ant-design/icons\&amp;quot;: \&amp;quot;^4.2.1\&amp;quot;,\n    \&amp;quot;@babel/core\&amp;quot;: \&amp;quot;7.9.0\&amp;quot;,\n    \&amp;quot;@svgr/webpack\&amp;quot;: \&amp;quot;4.3.3\&amp;quot;,\n    \&amp;quot;@testing-library/jest-dom\&amp;quot;: \&amp;quot;^4.2.4\&amp;quot;,\n    \&amp;quot;@testing-library/react\&amp;quot;: \&amp;quot;^9.3.2\&amp;quot;,\n    \&amp;quot;@testing-library/user-event\&amp;quot;: \&amp;quot;^7.1.2\&amp;quot;,\n    \&amp;quot;@typescript-eslint/eslint-plugin\&amp;quot;: \&amp;quot;^2.10.0\&amp;quot;,\n    \&amp;quot;@typescript-eslint/parser\&amp;quot;: \&amp;quot;^2.10.0\&amp;quot;,\n    \&amp;quot;antd\&amp;quot;: \&amp;quot;^4.4.1\&amp;quot;,\n    \&amp;quot;axios\&amp;quot;: \&amp;quot;^0.19.2\&amp;quot;,\n    \&amp;quot;babel-eslint\&amp;quot;: \&amp;quot;10.1.0\&amp;quot;,\n    \&amp;quot;babel-jest\&amp;quot;: \&amp;quot;^24.9.0\&amp;quot;,\n    \&amp;quot;babel-loader\&amp;quot;: \&amp;quot;8.1.0\&amp;quot;,\n    \&amp;quot;babel-plugin-named-asset-import\&amp;quot;: \&amp;quot;^0.3.6\&amp;quot;,\n    \&amp;quot;babel-preset-react-app\&amp;quot;: \&amp;quot;^9.1.2\&amp;quot;,\n    \&amp;quot;bootstrap\&amp;quot;: \&amp;quot;^3.3.7\&amp;quot;,\n    \&amp;quot;bootstrap-table\&amp;quot;: \&amp;quot;^1.11.1\&amp;quot;,\n    \&amp;quot;bootstrapvalidator\&amp;quot;: \&amp;quot;^0.5.4\&amp;quot;,\n    \&amp;quot;camelcase\&amp;quot;: \&amp;quot;^5.3.1\&amp;quot;,\n    \&amp;quot;case-sensitive-paths-webpack-plugin\&amp;quot;: \&amp;quot;2.3.0\&amp;quot;,\n    \&amp;quot;css-loader\&amp;quot;: \&amp;quot;3.4.2\&amp;quot;,\n    \&amp;quot;dotenv\&amp;quot;: \&amp;quot;8.2.0\&amp;quot;,\n    \&amp;quot;dotenv-expand\&amp;quot;: \&amp;quot;5.1.0\&amp;quot;,\n    \&amp;quot;eslint\&amp;quot;: \&amp;quot;^6.6.0\&amp;quot;,\n    \&amp;quot;eslint-config-react-app\&amp;quot;: \&amp;quot;^5.2.1\&amp;quot;,\n    \&amp;quot;eslint-loader\&amp;quot;: \&amp;quot;3.0.3\&amp;quot;,\n    \&amp;quot;eslint-plugin-flowtype\&amp;quot;: \&amp;quot;4.6.0\&amp;quot;,\n    \&amp;quot;eslint-plugin-import\&amp;quot;: \&amp;quot;2.20.1\&amp;quot;,\n    \&amp;quot;eslint-plugin-jsx-a11y\&amp;quot;: \&amp;quot;6.2.3\&amp;quot;,\n    \&amp;quot;eslint-plugin-react\&amp;quot;: \&amp;quot;7.19.0\&amp;quot;,\n    \&amp;quot;eslint-plugin-react-hooks\&amp;quot;: \&amp;quot;^1.6.1\&amp;quot;,\n    \&amp;quot;file-loader\&amp;quot;: \&amp;quot;4.3.0\&amp;quot;,\n    \&amp;quot;fs-extra\&amp;quot;: \&amp;quot;^8.1.0\&amp;quot;,\n    \&amp;quot;html-webpack-plugin\&amp;quot;: \&amp;quot;4.0.0-beta.11\&amp;quot;,\n    \&amp;quot;identity-obj-proxy\&amp;quot;: \&amp;quot;3.0.0\&amp;quot;,\n    \&amp;quot;jest\&amp;quot;: \&amp;quot;24.9.0\&amp;quot;,\n    \&amp;quot;jest-environment-jsdom-fourteen\&amp;quot;: \&amp;quot;1.0.1\&amp;quot;,\n    \&amp;quot;jest-resolve\&amp;quot;: \&amp;quot;24.9.0\&amp;quot;,\n    \&amp;quot;jest-watch-typeahead\&amp;quot;: \&amp;quot;0.4.2\&amp;quot;,\n    \&amp;quot;jquery\&amp;quot;: \&amp;quot;^3.3.1\&amp;quot;,\n    \&amp;quot;mini-css-extract-plugin\&amp;quot;: \&amp;quot;0.9.0\&amp;quot;,\n    \&amp;quot;optimize-css-assets-webpack-plugin\&amp;quot;: \&amp;quot;5.0.3\&amp;quot;,\n    \&amp;quot;pnp-webpack-plugin\&amp;quot;: \&amp;quot;1.6.4\&amp;quot;,\n    \&amp;quot;postcss-flexbugs-fixes\&amp;quot;: \&amp;quot;4.1.0\&amp;quot;,\n    \&amp;quot;postcss-loader\&amp;quot;: \&amp;quot;3.0.0\&amp;quot;,\n    \&amp;quot;postcss-normalize\&amp;quot;: \&amp;quot;8.0.1\&amp;quot;,\n    \&amp;quot;postcss-preset-env\&amp;quot;: \&amp;quot;6.7.0\&amp;quot;,\n    \&amp;quot;postcss-safe-parser\&amp;quot;: \&amp;quot;4.0.1\&amp;quot;,\n    \&amp;quot;react\&amp;quot;: \&amp;quot;^16.13.1\&amp;quot;,\n    \&amp;quot;react-app-polyfill\&amp;quot;: \&amp;quot;^1.0.6\&amp;quot;,\n    \&amp;quot;react-dev-utils\&amp;quot;: \&amp;quot;^10.2.1\&amp;quot;,\n    \&amp;quot;react-dom\&amp;quot;: \&amp;quot;^16.13.1\&amp;quot;,\n    \&amp;quot;react-router\&amp;quot;: \&amp;quot;^4.2.0\&amp;quot;,\n    \&amp;quot;react-router-dom\&amp;quot;: \&amp;quot;^4.2.0\&amp;quot;,\n    \&amp;quot;react-transition-group\&amp;quot;: \&amp;quot;^4.4.1\&amp;quot;,\n    \&amp;quot;resolve\&amp;quot;: \&amp;quot;1.15.0\&amp;quot;,\n    \&amp;quot;resolve-url-loader\&amp;quot;: \&amp;quot;3.1.1\&amp;quot;,\n    \&amp;quot;sass-loader\&amp;quot;: \&amp;quot;8.0.2\&amp;quot;,\n    \&amp;quot;semver\&amp;quot;: \&amp;quot;6.3.0\&amp;quot;,\n    \&amp;quot;style-loader\&amp;quot;: \&amp;quot;0.23.1\&amp;quot;,\n    \&amp;quot;terser-webpack-plugin\&amp;quot;: \&amp;quot;2.3.5\&amp;quot;,\n    \&amp;quot;ts-pnp\&amp;quot;: \&amp;quot;1.1.6\&amp;quot;,\n    \&amp;quot;url-loader\&amp;quot;: \&amp;quot;2.3.0\&amp;quot;,\n    \&amp;quot;webpack\&amp;quot;: \&amp;quot;4.42.0\&amp;quot;,\n    \&amp;quot;webpack-dev-server\&amp;quot;: \&amp;quot;3.10.3\&amp;quot;,\n    \&amp;quot;webpack-manifest-plugin\&amp;quot;: \&amp;quot;2.2.0\&amp;quot;,\n    \&amp;quot;workbox-webpack-plugin\&amp;quot;: \&amp;quot;4.3.1\&amp;quot;,\n    \&amp;quot;ztree\&amp;quot;: \&amp;quot;^3.5.24\&amp;quot;\n},\n\&amp;quot;scripts\&amp;quot;: {\n    \&amp;quot;start\&amp;quot;: \&amp;quot;node scripts/start.js\&amp;quot;,\n    \&amp;quot;build\&amp;quot;: \&amp;quot;node scripts/build.js\&amp;quot;,\n    \&amp;quot;test\&amp;quot;: \&amp;quot;node scripts/test.js\&amp;quot;\n},\n\&amp;quot;eslintConfig\&amp;quot;: {\n    \&amp;quot;extends\&amp;quot;: \&amp;quot;react-app\&amp;quot;\n},\n\&amp;quot;proxy\&amp;quot;: \&amp;quot;http://localhost:9999\&amp;quot;,\n\&amp;quot;homepage\&amp;quot;: \&amp;quot;.\&amp;quot;,\n\&amp;quot;browserslist\&amp;quot;: {\n    \&amp;quot;production\&amp;quot;: [\n      \&amp;quot;&amp;gt;0.2%\&amp;quot;,\n      \&amp;quot;not dead\&amp;quot;,\n      \&amp;quot;not op_mini all\&amp;quot;\n    ],\n    \&amp;quot;development\&amp;quot;: [\n      \&amp;quot;last 1 chrome version\&amp;quot;,\n      \&amp;quot;last 1 firefox version\&amp;quot;,\n      \&amp;quot;last 1 safari version\&amp;quot;\n    ]\n},\n\&amp;quot;jest\&amp;quot;: {\n    \&amp;quot;roots\&amp;quot;: [\n      \&amp;quot;&amp;lt;rootDir&amp;gt;/src\&amp;quot;\n    ],\n    \&amp;quot;collectCoverageFrom\&amp;quot;: [\n      \&amp;quot;src/**/*.{js,jsx,ts,tsx}\&amp;quot;,\n      \&amp;quot;!src/**/*.d.ts\&amp;quot;\n    ],\n    \&amp;quot;setupFiles\&amp;quot;: [\n      \&amp;quot;react-app-polyfill/jsdom\&amp;quot;\n    ],\n    \&amp;quot;setupFilesAfterEnv\&amp;quot;: [\n      \&amp;quot;&amp;lt;rootDir&amp;gt;/src/setupTests.js\&amp;quot;\n    ],\n    \&amp;quot;testMatch\&amp;quot;: [\n      \&amp;quot;&amp;lt;rootDir&amp;gt;/src/**/__tests__/**/*.{js,jsx,ts,tsx}\&amp;quot;,\n      \&amp;quot;&amp;lt;rootDir&amp;gt;/src/**/*.{spec,test}.{js,jsx,ts,tsx}\&amp;quot;\n    ],\n    \&amp;quot;testEnvironment\&amp;quot;: \&amp;quot;jest-environment-jsdom-fourteen\&amp;quot;,\n    \&amp;quot;transform\&amp;quot;: {\n      \&amp;quot;^.+\\\\.(js|jsx|ts|tsx)$\&amp;quot;: \&amp;quot;&amp;lt;rootDir&amp;gt;/node_modules/babel-jest\&amp;quot;,\n      \&amp;quot;^.+\\\\.css$\&amp;quot;: \&amp;quot;&amp;lt;rootDir&amp;gt;/config/jest/cssTransform.js\&amp;quot;,\n      \&amp;quot;^(?!.*\\\\.(js|jsx|ts|tsx|css|json)$)\&amp;quot;: \&amp;quot;&amp;lt;rootDir&amp;gt;/config/jest/fileTransform.js\&amp;quot;\n    },\n    \&amp;quot;transformIgnorePatterns\&amp;quot;: [\n      \&amp;quot;[/\\\\\\\\]node_modules[/\\\\\\\\].+\\\\.(js|jsx|ts|tsx)$\&amp;quot;,\n      \&amp;quot;^.+\\\\.module\\\\.(css|sass|scss)$\&amp;quot;\n    ],\n    \&amp;quot;modulePaths\&amp;quot;: [],\n    \&amp;quot;moduleNameMapper\&amp;quot;: {\n      \&amp;quot;^react-native$\&amp;quot;: \&amp;quot;react-native-web\&amp;quot;,\n      \&amp;quot;^.+\\\\.module\\\\.(css|sass|scss)$\&amp;quot;: \&amp;quot;identity-obj-proxy\&amp;quot;\n    },\n    \&amp;quot;moduleFileExtensions\&amp;quot;: [\n      \&amp;quot;web.js\&amp;quot;,\n      \&amp;quot;js\&amp;quot;,\n      \&amp;quot;web.ts\&amp;quot;,\n      \&amp;quot;ts\&amp;quot;,\n      \&amp;quot;web.tsx\&amp;quot;,\n      \&amp;quot;tsx\&amp;quot;,\n      \&amp;quot;json\&amp;quot;,\n      \&amp;quot;web.jsx\&amp;quot;,\n      \&amp;quot;jsx\&amp;quot;,\n      \&amp;quot;node\&amp;quot;\n    ],\n    \&amp;quot;watchPlugins\&amp;quot;: [\n      \&amp;quot;jest-watch-typeahead/filename\&amp;quot;,\n      \&amp;quot;jest-watch-typeahead/testname\&amp;quot;\n    ]\n},\n\&amp;quot;babel\&amp;quot;: {\n    \&amp;quot;presets\&amp;quot;: [\n      \&amp;quot;react-app\&amp;quot;\n    ]\n}\n}\n&amp;quot;}"><code class="hljs language-javascript">{
<span class="hljs-string">"name": <span class="hljs-string">"antd-demo",
<span class="hljs-string">"version": <span class="hljs-string">"0.1.0",
<span class="hljs-string">"private": <span class="hljs-literal">true,
<span class="hljs-string">"dependencies": {
    <span class="hljs-string">"@ant-design/icons": <span class="hljs-string">"^4.2.1",
    <span class="hljs-string">"@babel/core": <span class="hljs-string">"7.9.0",
    <span class="hljs-string">"@svgr/webpack": <span class="hljs-string">"4.3.3",
    <span class="hljs-string">"@testing-library/jest-dom": <span class="hljs-string">"^4.2.4",
    <span class="hljs-string">"@testing-library/react": <span class="hljs-string">"^9.3.2",
    <span class="hljs-string">"@testing-library/user-event": <span class="hljs-string">"^7.1.2",
    <span class="hljs-string">"@typescript-eslint/eslint-plugin": <span class="hljs-string">"^2.10.0",
    <span class="hljs-string">"@typescript-eslint/parser": <span class="hljs-string">"^2.10.0",
    <span class="hljs-string">"antd": <span class="hljs-string">"^4.4.1",
    <span class="hljs-string">"axios": <span class="hljs-string">"^0.19.2",
    <span class="hljs-string">"babel-eslint": <span class="hljs-string">"10.1.0",
    <span class="hljs-string">"babel-jest": <span class="hljs-string">"^24.9.0",
    <span class="hljs-string">"babel-loader": <span class="hljs-string">"8.1.0",
    <span class="hljs-string">"babel-plugin-named-asset-import": <span class="hljs-string">"^0.3.6",
    <span class="hljs-string">"babel-preset-react-app": <span class="hljs-string">"^9.1.2",
    <span class="hljs-string">"bootstrap": <span class="hljs-string">"^3.3.7",
    <span class="hljs-string">"bootstrap-table": <span class="hljs-string">"^1.11.1",
    <span class="hljs-string">"bootstrapvalidator": <span class="hljs-string">"^0.5.4",
    <span class="hljs-string">"camelcase": <span class="hljs-string">"^5.3.1",
    <span class="hljs-string">"case-sensitive-paths-webpack-plugin": <span class="hljs-string">"2.3.0",
    <span class="hljs-string">"css-loader": <span class="hljs-string">"3.4.2",
    <span class="hljs-string">"dotenv": <span class="hljs-string">"8.2.0",
    <span class="hljs-string">"dotenv-expand": <span class="hljs-string">"5.1.0",
    <span class="hljs-string">"eslint": <span class="hljs-string">"^6.6.0",
    <span class="hljs-string">"eslint-config-react-app": <span class="hljs-string">"^5.2.1",
    <span class="hljs-string">"eslint-loader": <span class="hljs-string">"3.0.3",
    <span class="hljs-string">"eslint-plugin-flowtype": <span class="hljs-string">"4.6.0",
    <span class="hljs-string">"eslint-plugin-import": <span class="hljs-string">"2.20.1",
    <span class="hljs-string">"eslint-plugin-jsx-a11y": <span class="hljs-string">"6.2.3",
    <span class="hljs-string">"eslint-plugin-react": <span class="hljs-string">"7.19.0",
    <span class="hljs-string">"eslint-plugin-react-hooks": <span class="hljs-string">"^1.6.1",
    <span class="hljs-string">"file-loader": <span class="hljs-string">"4.3.0",
    <span class="hljs-string">"fs-extra": <span class="hljs-string">"^8.1.0",
    <span class="hljs-string">"html-webpack-plugin": <span class="hljs-string">"4.0.0-beta.11",
    <span class="hljs-string">"identity-obj-proxy": <span class="hljs-string">"3.0.0",
    <span class="hljs-string">"jest": <span class="hljs-string">"24.9.0",
    <span class="hljs-string">"jest-environment-jsdom-fourteen": <span class="hljs-string">"1.0.1",
    <span class="hljs-string">"jest-resolve": <span class="hljs-string">"24.9.0",
    <span class="hljs-string">"jest-watch-typeahead": <span class="hljs-string">"0.4.2",
    <span class="hljs-string">"jquery": <span class="hljs-string">"^3.3.1",
    <span class="hljs-string">"mini-css-extract-plugin": <span class="hljs-string">"0.9.0",
    <span class="hljs-string">"optimize-css-assets-webpack-plugin": <span class="hljs-string">"5.0.3",
    <span class="hljs-string">"pnp-webpack-plugin": <span class="hljs-string">"1.6.4",
    <span class="hljs-string">"postcss-flexbugs-fixes": <span class="hljs-string">"4.1.0",
    <span class="hljs-string">"postcss-loader": <span class="hljs-string">"3.0.0",
    <span class="hljs-string">"postcss-normalize": <span class="hljs-string">"8.0.1",
    <span class="hljs-string">"postcss-preset-env": <span class="hljs-string">"6.7.0",
    <span class="hljs-string">"postcss-safe-parser": <span class="hljs-string">"4.0.1",
    <span class="hljs-string">"react": <span class="hljs-string">"^16.13.1",
    <span class="hljs-string">"react-app-polyfill": <span class="hljs-string">"^1.0.6",
    <span class="hljs-string">"react-dev-utils": <span class="hljs-string">"^10.2.1",
    <span class="hljs-string">"react-dom": <span class="hljs-string">"^16.13.1",
    <span class="hljs-string">"react-router": <span class="hljs-string">"^4.2.0",
    <span class="hljs-string">"react-router-dom": <span class="hljs-string">"^4.2.0",
    <span class="hljs-string">"react-transition-group": <span class="hljs-string">"^4.4.1",
    <span class="hljs-string">"resolve": <span class="hljs-string">"1.15.0",
    <span class="hljs-string">"resolve-url-loader": <span class="hljs-string">"3.1.1",
    <span class="hljs-string">"sass-loader": <span class="hljs-string">"8.0.2",
    <span class="hljs-string">"semver": <span class="hljs-string">"6.3.0",
    <span class="hljs-string">"style-loader": <span class="hljs-string">"0.23.1",
    <span class="hljs-string">"terser-webpack-plugin": <span class="hljs-string">"2.3.5",
    <span class="hljs-string">"ts-pnp": <span class="hljs-string">"1.1.6",
    <span class="hljs-string">"url-loader": <span class="hljs-string">"2.3.0",
    <span class="hljs-string">"webpack": <span class="hljs-string">"4.42.0",
    <span class="hljs-string">"webpack-dev-server": <span class="hljs-string">"3.10.3",
    <span class="hljs-string">"webpack-manifest-plugin": <span class="hljs-string">"2.2.0",
    <span class="hljs-string">"workbox-webpack-plugin": <span class="hljs-string">"4.3.1",
    <span class="hljs-string">"ztree": <span class="hljs-string">"^3.5.24"
},
<span class="hljs-string">"scripts": {
    <span class="hljs-string">"start": <span class="hljs-string">"node scripts/start.js",
    <span class="hljs-string">"build": <span class="hljs-string">"node scripts/build.js",
    <span class="hljs-string">"test": <span class="hljs-string">"node scripts/test.js"
},
<span class="hljs-string">"eslintConfig": {
    <span class="hljs-string">"extends": <span class="hljs-string">"react-app"
},
<span class="hljs-string">"proxy": <span class="hljs-string">"http://localhost:9999",
<span class="hljs-string">"homepage": <span class="hljs-string">".",
<span class="hljs-string">"browserslist": {
    <span class="hljs-string">"production": [
      <span class="hljs-string">"&gt;0.2%",
      <span class="hljs-string">"not dead",
      <span class="hljs-string">"not op_mini all"
    ],
    <span class="hljs-string">"development": [
      <span class="hljs-string">"last 1 chrome version",
      <span class="hljs-string">"last 1 firefox version",
      <span class="hljs-string">"last 1 safari version"
    ]
},
<span class="hljs-string">"jest": {
    <span class="hljs-string">"roots": [
      <span class="hljs-string">"&lt;rootDir&gt;/src"
    ],
    <span class="hljs-string">"collectCoverageFrom": [
      <span class="hljs-string">"src/**/*.{js,jsx,ts,tsx}",
      <span class="hljs-string">"!src/**/*.d.ts"
    ],
    <span class="hljs-string">"setupFiles": [
      <span class="hljs-string">"react-app-polyfill/jsdom"
    ],
    <span class="hljs-string">"setupFilesAfterEnv": [
      <span class="hljs-string">"&lt;rootDir&gt;/src/setupTests.js"
    ],
    <span class="hljs-string">"testMatch": [
      <span class="hljs-string">"&lt;rootDir&gt;/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
      <span class="hljs-string">"&lt;rootDir&gt;/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
    ],
    <span class="hljs-string">"testEnvironment": <span class="hljs-string">"jest-environment-jsdom-fourteen",
    <span class="hljs-string">"transform": {
      <span class="hljs-string">"^.+\\.(js|jsx|ts|tsx)$": <span class="hljs-string">"&lt;rootDir&gt;/node_modules/babel-jest",
      <span class="hljs-string">"^.+\\.css$": <span class="hljs-string">"&lt;rootDir&gt;/config/jest/cssTransform.js",
      <span class="hljs-string">"^(?!.*\\.(js|jsx|ts|tsx|css|json)$)": <span class="hljs-string">"&lt;rootDir&gt;/config/jest/fileTransform.js"
    },
    <span class="hljs-string">"transformIgnorePatterns": [
      <span class="hljs-string">"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$",
      <span class="hljs-string">"^.+\\.module\\.(css|sass|scss)$"
    ],
    <span class="hljs-string">"modulePaths": [],
    <span class="hljs-string">"moduleNameMapper": {
      <span class="hljs-string">"^react-native$": <span class="hljs-string">"react-native-web",
      <span class="hljs-string">"^.+\\.module\\.(css|sass|scss)$": <span class="hljs-string">"identity-obj-proxy"
    },
    <span class="hljs-string">"moduleFileExtensions": [
      <span class="hljs-string">"web.js",
      <span class="hljs-string">"js",
      <span class="hljs-string">"web.ts",
      <span class="hljs-string">"ts",
      <span class="hljs-string">"web.tsx",
      <span class="hljs-string">"tsx",
      <span class="hljs-string">"json",
      <span class="hljs-string">"web.jsx",
      <span class="hljs-string">"jsx",
      <span class="hljs-string">"node"
    ],
    <span class="hljs-string">"watchPlugins": [
      <span class="hljs-string">"jest-watch-typeahead/filename",
      <span class="hljs-string">"jest-watch-typeahead/testname"
    ]
},
<span class="hljs-string">"babel": {
    <span class="hljs-string">"presets": [
      <span class="hljs-string">"react-app"
    ]
}
}
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
<span class="cke_reset cke_widget_drag_handler_container"><img width="15" height="15" class="cke_reset cke_widget_drag_handler lazyload" title="点击并拖拽以移动" data-cke-widget-drag-handler="1" data-src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="></span></div>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/samve/p/13455312.html
頁: [1]
查看完整版本: React版Ant Design 4.5.4中Table动态获取数据(React)