gpt4 book ai didi

antd通过 filterDropdown 自定义按某天时间搜索功能

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章antd通过 filterDropdown 自定义按某天时间搜索功能由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

antd通过 filterDropdown 自定义按某天时间搜索功能

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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 自定义按某天时间搜索功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢! 。

原文链接:https://www.cnblogs.com/takenotes-MUZI/p/11337926.html 。

最后此篇关于antd通过 filterDropdown 自定义按某天时间搜索功能的文章就讲到这里了,如果你想了解更多关于antd通过 filterDropdown 自定义按某天时间搜索功能的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com