reactjs - 有没有办法从 Material 表中的自定义操作手动触发 isLoading 动画?

标签 reactjs material-table

我正在使用material-table图书馆。我想使用库当前用于自定义异步操作的加载动画。单击自定义操作后,它会打开,然后在 aync 解决后关闭。

import React from "react";
import MaterialTable from "material-table";
import ReactDOM from "react-dom";

import "./styles.css";

const handleAsync = () => {
  // isLoading = true
  // async done
  // isLoading = false
}

function App() {
  return (
    <MaterialTable
      columns={[
        {
          title: <button onClick={handleAsync}>async</button>
        },
        {
          title: "Avatar",
          field: "avatar",
          render: rowData => (
            <img
              style={{ height: 36, borderRadius: "50%" }}
              src={rowData.avatar}
            />
          )
        },
        { title: "Id", field: "id" },
        { title: "First Name", field: "first_name" },
        { title: "Last Name", field: "last_name" }
      ]}
      data={query =>
        new Promise((resolve, reject) => {
          let url = "https://reqres.in/api/users?";
          url += "per_page=" + query.pageSize;
          url += "&page=" + (query.page + 1);
          fetch(url)
            .then(response => response.json())
            .then(result => {
              resolve({
                data: result.data,
                page: result.page - 1,
                totalCount: result.total
              });
            });
        })
      }
      title="Remote Data Example"
    />
  );
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

最佳答案

您可以使用 Material 表的 isLoading 属性。就像这样:

<MaterialTable
...//
isLoading={this.state.isLoading}
/>

在异步操作之前设置 state.isLoading=true,然后在操作完成后设置 false

关于reactjs - 有没有办法从 Material 表中的自定义操作手动触发 isLoading 动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55835316/

相关文章:

javascript - React,useRef 不允许访问当前属性,得到 Uncaught TypeError : Cannot read properties of undefined (reading 'clientHeight' )

reactjs - 如何使用自定义输入 TextField 在下一个查询之前重置 Material 表查询对象

react-hooks - 在 Material 表中的自定义 editComponent 中设置值

reactjs - 如何将时间选择器集成到 Material 表中

ios - 按钮拒绝在容器中水平居中

reactjs - 属性 'setUser'在 'Readonly<{}> & Readonly<{ children?: ReactNode; }>'类型上不存在

reactjs - 测试时如何在我的组件之外设置 Formik isSubmitting?

javascript - 如何在reactjs中上传到Firebase存储之前调整图像大小

reactjs - ReactJS中数据变化时如何刷新Material-Table(Material-ui)组件