• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    antd通过 filterDropdown 自定义按某天时间搜索功能

    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 自定义按某天时间搜索功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

    您可能感兴趣的文章:
    • Antd中单个DatePicker限定时间输入范围操作
    • antd日期选择器禁止选择当天之前的时间操作
    • antd-DatePicker组件获取时间值,及相关设置方式
    • 解决antd datepicker 获取时间默认少8个小时的问题
    上一篇:Github代码常用指令(小结)
    下一篇:人工智能开发语言排行榜: 不死Java, 不朽C/C++, 新贵Python【推荐】
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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