Reactjs 有没有办法从“材质表”中的自定义动作手动触发isLoading动画?
我在用图书馆。我想使用库用于自定义异步操作的当前加载动画。单击自定义操作后,它将打开,然后在aync解析后关闭Reactjs 有没有办法从“材质表”中的自定义动作手动触发isLoading动画?,reactjs,material-table,Reactjs,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
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);
从“React”导入React;
从“物料表”中导入物料表;
从“react dom”导入react dom;
导入“/styles.css”;
常量handleAsync=()=>{
//isLoading=true
//异步完成
//isLoading=错误
}
函数App(){
返回(
(
)
},
{标题:“Id”,字段:“Id”},
{标题:“名字”,字段:“名字”},
{标题:“姓氏”,字段:“姓氏”}
]}
数据={query=>
新承诺((解决、拒绝)=>{
让url=”https://reqres.in/api/users?";
url+=“每页=”+query.pageSize;
url+=“&page=“+(query.page+1);
获取(url)
.then(response=>response.json())
。然后(结果=>{
决心({
数据:result.data,
第页:result.page-1,
totalCount:result.total
});
});
})
}
title=“远程数据示例”
/>
);
}
const rootElement=document.getElementById(“根”);
render(,rootElement);
您可以使用物料表的isLoading
道具。就这样,
<MaterialTable
...//
isLoading={this.state.isLoading}
/>
在异步操作之前设置state.isLoading=true,然后在操作完成后将其设置为false