时间:2021-05-28
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" /> ) }}
总结
以上所述是小编给大家介绍的antd通过 filterDropdown 自定义按某天时间搜索功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
帝国CMS6.0的会员列表功能新增了自定义字段搜索。今天我们就专门来讲解6.0的会员自定义字段搜索。使用会员搜索自定义字段说明:默认支持搜索username字段
自定义JS一、自定义JS功能说明自定义JS功能:除了系统内置固定的信息JS调用外,用户还可以通过SQL条件生成相应信息JS调用,让JS调用更加灵活。二、增加自定
android通过toast实现悬浮通知效果,如图:实现的功能:自定义悬浮弹窗;点击其他地方该布局不受影响;可自定义显示时间;可以设置点击事件;代码如下:imp
简介实现功能自定义文本自定义类型(默认,消息,成功,警告,危险)自定义过渡时间使用vue-cli3.0生成项目toast全局组件编写/src/toast/toa
使用antd按需加载使用react-app-rewired对create-react-app的默认配置进行自定义1、yarnaddreact-app-rewir