javascript - 如何根据时间戳渲染反应组件
问题描述
我有一个带有弹簧后端的反应应用程序(材料 ui)。我想基于三个时间戳渲染组件,即(过去 24 小时、过去 7 天、上个月)。如何有条件地渲染和重用我的组件。我用过材料表和卡片。我想根据时间戳更改这些卡片和表格的值。对此的任何帮助将不胜感激。
反应代码: -
import React from 'react';
import MaterialTable, {MTableRow} from 'material-table';
//import Icons from '@material-ui/icons'
import { SearchInput } from 'components';
import AddBox from '@material-ui/icons/AddBox';
import ArrowUpward from '@material-ui/icons/ArrowUpward';
import Check from '@material-ui/icons/Check';
import ChevronLeft from '@material-ui/icons/ChevronLeft';
import ChevronRight from '@material-ui/icons/ChevronRight';
import Clear from '@material-ui/icons/Clear';
import DeleteOutline from '@material-ui/icons/DeleteOutline';
import Edit from '@material-ui/icons/Edit';
import FilterList from '@material-ui/icons/FilterList';
import FirstPage from '@material-ui/icons/FirstPage';
import LastPage from '@material-ui/icons/LastPage';
import Remove from '@material-ui/icons/Remove';
import SaveAlt from '@material-ui/icons/SaveAlt';
import Search from '@material-ui/icons/Search';
import ViewColumn from '@material-ui/icons/ViewColumn';
class BasicSearch extends React.Component {
constructor(props) {
super(props);
this.state = {
items : [],
data1 : [],
time : [24,48,72],
isLoaded : false
}
}
componentDidMount() {
fetch('https://jsonplaceholder.typicode.com/posts')
.then(response => response.json())
.then((json) => {
this.setState({ items : json});
console.log("Json = ", json)
console.log("Basic Search Items = ", this.state.items);
})
}
render() {
let {items, data1, time} = this.state;
console.log("Type of items = ", typeof(items));
if(time.length === 3) {
return (
<MaterialTable
title="Basic Search Preview"
icons={{
Check: Check,
DetailPanel: ChevronRight,
Export: SaveAlt,
Filter: FilterList,
FirstPage: FirstPage,
LastPage: LastPage,
NextPage: ChevronRight,
PreviousPage: ChevronLeft,
Search: Search,
ThirdStateCheck: Remove,
}}
columns={[
{ title: 'User ID', field: 'userId',
},
{ title: 'ID', field: 'id' },
{ title: 'Title', field: 'title' },
{ title: 'Body', field: 'body' }
]}
data= {items}
options={{
searching: true,
sorting: true
}}
/>
)
}
else {
return(
<MaterialTable
title="Basic Search Preview"
columns={[
{ title: 'User ID', field: 'userId',
},
{ title: 'ID', field: 'id' },
{ title: 'Title', field: 'title' }
]}
data= {items}
options={{
searching: true,
sorting: true,
exportButton: true
}}
/>
)
}
}
}
export default BasicSearch;
解决方案
推荐阅读
- asp.net - 如何在 IIS 10 服务器场上跟踪失败的请求
- apache - 静态文件的 Apache 代理通行证
- python - 如何将 i18n 扩展添加到 jinja?
- jquery - 引导选项卡折叠在嵌套选项卡中不起作用
- java - 如何使用 AndroidX 依赖项从头开始创建导航抽屉
- cas - 关于cas 5.2的shiro库
- python - 以相同的值一致地聚合 pandas 数据框
- keycloak - 如何使用rest api从keycloak客户端注册中获取初始访问令牌?
- python - 找不到 Grammar.txt pip3 install --upgrade tensorflow-gpu
- sql - 列“City.Name”在选择列表中无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中