import React, { Component } from 'react';
import { Table, Input, Button, Icon, DatePicker } from 'antd';
import moment from 'moment';
import Highlighter from 'react-highlight-words'; export default class RpoliceRecord extends Component { constructor(props) {
super(props);
this.state = {
searchText: '',
}
} render() {
// 添加搜索
this.getColumnSearchProps = (dataIndex, title) => ({
filterDropdown: ({ setSelectedKeys, selectedKeys, confirm, clearFilters }) => (
<div style={{ padding: 8 }}>
<Input
ref={node => {
this.searchInput = node;
}}
placeholder={`搜索 ${title}`}
value={selectedKeys[0]}
onChange={e => setSelectedKeys(e.target.value ? [e.target.value] : [])}
onPressEnter={() => this.handleSearch(selectedKeys, confirm)}
style={{ width: 188, marginBottom: 8, display: 'block' }}
/>
<Button
type="primary"
onClick={() => this.handleSearch(selectedKeys, confirm)}
icon="search"
size="small"
style={{ width: 90, marginRight: 8 }}>
搜索
</Button>
<Button onClick={() => this.handleReset(clearFilters)} size="small" style={{ width: 90 }}>重置</Button>
</div>
),
filterIcon: filtered => (
<Icon type="search" style={{ color: filtered ? '#1890ff' : undefined }} />
),
onFilter: (value, record) =>
record[dataIndex]
.toString()
.toLowerCase()
.includes(value.toLowerCase()),
onFilterDropdownVisibleChange: visible => {
if (visible) {
setTimeout(() => this.searchInput.select());
}
},
render: text => (
<Highlighter
highlightStyle={{ backgroundColor: '#ffc069', padding: 0 }}
searchWords={[this.state.searchText]}
autoEscape
textToHighlight={text.toString()}
/>
),
});
//搜索
this.handleSearch = (selectedKeys, confirm) => {
confirm();
console.log(selectedKeys,confirm);
this.setState({ searchText: selectedKeys[0] });
};
this.handleSearchtime = (selectedKeys, confirm) => {
confirm();
this.setState({ searchText: selectedKeys });
};
//重置
this.handleReset = clearFilters => {
clearFilters();
this.setState({ searchText: '' });
};
const columns = [
{ title: '报警时间', dataIndex: 'time', key: 'time',
filterDropdown: ({ setSelectedKeys, selectedKeys, confirm, clearFilters }) => (
<div style={{ padding: 8 }}>
<DatePicker placeholder={`搜索时间`}
value={selectedKeys[0]}
onChange={dateString => setSelectedKeys(dateString ? [dateString] : [])}
onPressEnter={() => this.handleSearch(selectedKeys, confirm)}
style={{ width: 188, marginBottom: 8, display: 'block' }}/>
<Button
type="primary"
onClick={() => this.handleSearchtime(moment(selectedKeys[0]._d).format('YYYY-MM-DD'), confirm)}
icon="search"
size="small"
style={{ width: 90, marginRight: 8 }}>
搜索
</Button>
<Button onClick={() => this.handleReset(clearFilters)} size="small" style={{ width: 90 }}>重置</Button>
</div>
),
filterIcon: filtered => (
<Icon type="search" style={{ color: filtered ? '#1890ff' : undefined }} />
),
onFilter: (value, record) => {
return record.time.indexOf(moment(value).format('YYYY-MM-DD')) != -1},
render: text => (
<Highlighter
highlightStyle={{ backgroundColor: '#ffc069', padding: 0 }}
searchWords={[this.state.searchText]}
autoEscape
textToHighlight={text.toString()}
/>
),
},
{ title: '来电', key: 'callnum', dataIndex: 'callnum', ...this.getColumnSearchProps('callnum', '来电'), },
{ title: '时长', key: 'longtime', dataIndex: 'longtime', }
];
const data = [
{ key: '1', time: '2019-07-30 16:31:05', callnum: '13546540218', longtime: '37秒' },
{ key: '2', time: '2019-06-24 22:08:05', callnum: '13546540218', longtime: '1分12秒' },
{ key: '3', time: '2017-08-15 12:31:05', callnum: '13546540218', longtime: '1分10秒' },
{ key: '4', time: '2016-12-30 06:15:00', callnum: '13546540218', longtime: '20秒' }
]; return (
<Table className="accidentTable" columns={columns} dataSource={data} bordered size="small" />
)
}
}

最新文章

  1. Redis缓存连接池管理
  2. JVM加载类的过程,双亲委派机制中的方法
  3. JAVA第三周作业
  4. iOS开发多线程篇—NSOperation简单介绍
  5. JAVA 多线程和并发学习笔记(一)
  6. BZOJ3246 [Ioi2013]Dreaming
  7. 转:python webdriver API 之分页处理
  8. ma
  9. javascript设计模式--状态模式(State)
  10. Oracle -&gt;&gt; TRUNC, ROUND, CEIL, FLOOR
  11. CodeForces 567A Gerald is into Art
  12. HDU 5768 Lucky7(CRT+容斥原理)
  13. C++ 静态static 变量在 cocos2d-x 里面使用误区
  14. const与readonly的区别
  15. android studio修改项目包名
  16. SVM入门(一)
  17. 【设计模式】单一职责原则(SRP)
  18. java考试易错题大全
  19. 22 使用ArcMap 连接Server提示【远程服务器收到了错误的地址】
  20. Gym.101955: Asia Shenyang Regional Contest(寒假自训第10场)

热门文章

  1. 洛谷/Codeforces CF865D 题解
  2. 洛谷P2949题解
  3. 【jmeter】Include Controller控件&amp;Test Fragment的使用
  4. Linux文件系统只读Read-only file system的解决方法
  5. Expression Atlas
  6. 1045-Access denied for user &#39;root&#39;@&#39;localhost&#39;解决方法
  7. 域名解析前面的前缀* @ www 分别代表什么
  8. 解析prototxt文件的python库 prototxt-parser(使用parsy自定义文件格式解析)
  9. Error:A problem occurred configuring project &#39;:networklibrary&#39;. &gt; No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
  10. Xamarin.FormsShell基础教程(8)Shell的模版构成