Ant Design表格的dataIndex在搜索选项时不起作用。
创始人
2024-11-07 05:30:43
0

在Ant Design的表格组件中,如果希望在搜索选项时不仅搜索显示文本,还要搜索数据字段(dataIndex),可以通过自定义筛选函数来实现。

下面是一个示例代码,展示了如何使用自定义筛选函数来实现在搜索选项时同时搜索显示文本和数据字段(dataIndex)。

import React, { useState } from 'react';
import { Table, Input, Button } from 'antd';

const data = [
  {
    key: '1',
    name: 'John Brown',
    age: 32,
    address: 'New York No. 1 Lake Park',
  },
  {
    key: '2',
    name: 'Jim Green',
    age: 40,
    address: 'London No. 1 Lake Park',
  },
  {
    key: '3',
    name: 'Joe Black',
    age: 32,
    address: 'Sidney No. 1 Lake Park',
  },
  {
    key: '4',
    name: 'Jim Red',
    age: 32,
    address: 'London No. 2 Lake Park',
  },
];

const SearchableTable = () => {
  const [searchText, setSearchText] = useState('');
  const [searchedColumn, setSearchedColumn] = useState('');

  const handleSearch = (selectedKeys, confirm, dataIndex) => {
    confirm();
    setSearchText(selectedKeys[0]);
    setSearchedColumn(dataIndex);
  };

  const handleReset = clearFilters => {
    clearFilters();
    setSearchText('');
  };

  const getColumnSearchProps = dataIndex => ({
    filterDropdown: ({ setSelectedKeys, selectedKeys, confirm, clearFilters }) => (
      
setSelectedKeys(e.target.value ? [e.target.value] : [])} onPressEnter={() => handleSearch(selectedKeys, confirm, dataIndex)} style={{ width: 188, marginBottom: 8, display: 'block' }} />
), filterIcon: filtered => ( ), onFilter: (value, record) => { // 自定义筛选函数,在搜索选项时同时搜索显示文本和数据字段(dataIndex) return ( record[dataIndex].toString().toLowerCase().includes(value.toLowerCase()) || record.key.toString().toLowerCase().includes(value.toLowerCase()) ); }, onFilterDropdownVisibleChange: visible => { if (visible) { setTimeout(() => { searchInputRef.current.focus(); }); } }, }); const columns = [ { title: 'Name', dataIndex: 'name', key: 'name', ...getColumnSearchProps('name'), }, { title: 'Age', dataIndex: 'age', key: 'age', ...getColumnSearchProps('age'), }, { title: 'Address', dataIndex: 'address', key: 'address', ...getColumnSearchProps('address'), }, ]; return ; }; export default SearchableTable;

在上面的示例代码中,getColumnSearchProps函数返回一个包含了自定义筛选函数的对象,该函数使用逻辑运算符||同时搜索显示文本和数据字段(dataIndex)。

此外,还需要使用useState来跟踪搜索文本和搜索字段,并根据搜索文本确定筛选行的逻辑。

通过这种方式,可以在Ant Design的表格组件中实现在搜索选项时同时搜索显示文本和数据字段(dataIndex)。

相关内容

热门资讯

揭幕透视!pokemmo内置修... 揭幕透视!pokemmo内置修改器!确实真的是有辅助工具(详细教程)-哔哩哔哩1、进入到pokemm...
分享透视!epoker有透视吗... 分享透视!epoker有透视吗!都是有辅助工具(的确有挂)-哔哩哔哩epoker有透视吗是不是有人用...
解谜透视!红龙poker辅助器... 解谜透视!红龙poker辅助器免费观看!竟然真的有辅助教程(有挂猫腻)-哔哩哔哩1、完成红龙poke...
详细透视!德州圈脚本!总是是有... 详细透视!德州圈脚本!总是是有辅助app(真实有挂)-哔哩哔哩1、金币登录送、破产送、升级送、活动送...
有挂透视!德州局脚本!一贯一直... 有挂透视!德州局脚本!一贯一直总是有辅助教程(存在有挂)-哔哩哔哩德州局脚本能透视中分为三种模型:德...
关于透视!pokemmo脚本最... 您好,pokemmo脚本最新版这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054...
有挂透视!哈糖大菠萝破解器!一... 有挂透视!哈糖大菠萝破解器!一贯一直都是有辅助神器(有挂教学)-哔哩哔哩1、哈糖大菠萝破解器破解器简...
了解透视!拱趴大菠萝挂哪里!果... 了解透视!拱趴大菠萝挂哪里!果然一直都是有辅助攻略(有挂细节)-哔哩哔哩1、很好的工具软件,可以解锁...
必备透视!扑克之星辅助!切实是... 必备透视!扑克之星辅助!切实是有辅助软件(有挂解惑)-哔哩哔哩一、扑克之星辅助游戏安装教程牌型概率发...
必备透视!sohoo竞技联盟辅... 必备透视!sohoo竞技联盟辅助器!总是是有辅助攻略(存在有挂)-哔哩哔哩1)sohoo竞技联盟辅助...