SyfedTable

syfed-table

intro component

API

参数名 说明 必填 类型 默认值 备注

DEMO 列表

基本示例

本 Demo 演示一行文字的用法。

import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import SyfedTable from 'syfed-table';

// 模拟数据
const dataSource = () => {
        const result = [];
        for (let i = 0; i < 5; i++) {
            result.push({
                index: i + 1,
                AUTO_HINT_DMS: "FXDID_0_1",
                AUTO_HINT_NUM: 1,
                AUTO_ROWNUM: 1,
                AUTO_SIZE: -1,
                FXDID_0_1: 1,
                AH: `1011610100005181871${i}`,
                MC: `数据2819675${i}`,
                NSRSBH: "61011606420589974",
                ID: "1",
                ID$MC: null,
                MD: "aaa",
                JGMC: "数据",
                "FXDID_0_1.2342131": "21.81%",
                "QSZNTS": `${12 + i}`,
                JGID: "--",
                JGID$MC: null,
                ZQ_ID: "20180000004",
            });
        }
        return result;
    },
    columns = [{
        "title": "序号",
        "dataIndex": "INDEX",
        "key": "INDEX",
        "width": 80,
        "className": "res-fixed-column",
        "fixed": "left"
    },
    {
        "title": "基本信息",
        "key": 'baseCols',
        "children": [
            {
                "code": "MD",
                "format": null,
                "index": 1,
                "name": "代号",
                "sfzs": "Y",
                "vtype": "CHAR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "link": null,
                "sort": null,
                "ywlx": "NSR",
                "title": "代号",
                "dataIndex": "MD",
                "key": "MD",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 2,
                "sortable": true,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'txtRange',
                  "data": [
                    {
                        value: 'appale',
                        label: 'Appale',
                    }, {
                        value: 'pear',
                        label: 'Pear',
                    }, {
                        value: 'orange',
                        label: 'Orange',
                    }]
                }  
            },
            {
                "code": "MC",
                "format": null,
                "index": 3,
                "name": "数据名称",
                "sfzs": "Y",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "sort": null,
                "title": "数据名称",
                "dataIndex": "MC",
                "key": "MC",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 3,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'checkbox',
                  "itemDirection":'ver',
                  "data": [
                    {
                        value: '数据',
                        label: '数据',
                    }, {
                        value: '2819',
                        label: '2819',
                    }, {
                        value: '6752',
                        label: '6752',
                    }]
                }
            },
            {
                "code": "AUTO_HINT_NUM",
                "format": "NUMBER",
                "index": 3,
                "name": "风险数",
                "sfzs": "Y",
                "vtype": "NUMBER",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "dataIndex": "AUTO_HINT_NUM",
                "key": "AUTO_HINT_NUM",
                "title": "风险数",
                "width": 98,
                "className": "res-fixed-column split-cell-r",
                "fixed": "left"
            }
        ],
    },
    {
        "title": "数据2",
        "className": " split-cell-r",
        "key": 'FXDID_0_1',
        "children": [
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "SSHS_NY_RKXX_ZB",
                "id": "12312312",
                "code": "12312312",
                "name": "天数",
                "ywlx": "ZB",
                "vtype": "MONEY",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "天数",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\",\"YF\"]",
                "jgplmc": "月/年",
                "showyjz": "N",
                "INDEX": 3,
                "key": "QSZNTS",
                "sorter": true,
                "values": [
                    "1"
                ],
                "operator": "LT",
                "cslx": "GDZ",
                "value": "1xy",
                "dm": "12312312",
                "mc": "天数",
                "title": "天数",
                "dataIndex": "QSZNTS",
                "width": 197,
                "filters": [{
                        label: '12天',
                        value: 12
                    },{
                        label: '13天',
                        value: 13
                    }, {
                        label: 'Nano 678',
                        value: 678,
                        children: [{
                            label: 'Nano 67',
                            value: 67,
                            children: [{
                                label: 'Nano 6',
                                value: 6
                            }, {
                                label: 'Nano 7',
                                value: 7
                            }]
                        }, {
                            label: 'Nano 8',
                            value: 8
                        }]
                    }, {
                        label: 'Other',
                        value: 'other',
                        children: [{
                            label: 'Nano 4',
                            value: 4
                        }, {
                            label: 'Nano 5',
                            value: 5
                        }]
                    }],
                "filterMode": 'single',
                
            },
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "ZB",
                "id": "2342131",
                "code": "2342131",
                "name": "经营费用率",
                "ywlx": "ZB",
                "vtype": "PERCET",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "经营费用率",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\"]",
                "jgplmc": "年",
                "showyjz": "N",
                "INDEX": 6,
                "key": "FXDID_0_1.2342131",
                "sorter": true,
                "values": [],
                "operator": "ISNULL",
                "cslx": "GDZ",
                "value": "4k",
                "dm": "2342131",
                "mc": "经营费用率",
                "title": "经营费用率",
                "dataIndex": "FXDID_0_1.2342131",
                "className": "",
                "width": 197
            }
        ]
    },
    {
        "title": "扩展信息",
        "key": 'kzCols',
        "children": [
            {
                "id": "JGID",
                "code": "JGID",
                "name": "机构类型",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构类型",
                "dataIndex": "JGID$MC",
                "key": "JGID",
                "width": 154
            },
            {
                "id": "JGMC",
                "code": "JGMC",
                "name": "机构名称",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构名称",
                "dataIndex": "JGMC",
                "key": "JGMC",
                "width": 154
            },
            {
                "id": "ID",
                "code": "ID",
                "name": "标志",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "标志",
                "dataIndex": "ID$MC",
                "key": "ID",
                "width": 154
            }
        ]
    }
];
class App extends Component {
    constructor(props) {
        super(props);
        this.state = {
            dataSource: dataSource()
        };
    }
// 过滤回调函数

onFilter(filterParams) {
    console.log('filter 返回数据');
    console.log(filterParams);
    let ds = dataSource();
    
    Object.keys(filterParams).forEach(key => {
        const selectedKeys = filterParams[key].selectedKeys;
        if (selectedKeys.length) {
            ds = ds.filter(record => {
                return selectedKeys.some(value => {
                    return record[key].indexOf(value) > -1;
                });
            });
        }
    });
    this.setState({dataSource: ds});
}
  render() {
    return (
      <div>
        <SyfedTable 
          dataSource={ this.state.dataSource }
          columns={ columns }
          onFilter={ this.onFilter.bind(this) }
        />
      </div>
    );
  }
}

ReactDOM.render((
  <App />
), mountNode);

单选框过滤

表格单选框过滤。

col = {
    ...colProps, //表格列其他属性值
    "sfilter": true, // 使用过滤
    "sfilterprops": { 
        "type": 'radio', // 过滤类型
        "data": [
        {
            value: 'appale',
            label: 'Appale',
        }, {
            value: 'pear',
            label: 'Pear',
        }, {
            value: 'orange',
            label: 'Orange',
        }], // 过滤设置数据
    }
}
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import SyfedTable from 'syfed-table';

// 模拟数据
const dataSource = () => {
        const result = [];
        for (let i = 0; i < 5; i++) {
            result.push({
                index: i + 1,
                AUTO_HINT_DMS: "FXDID_0_1",
                AUTO_HINT_NUM: 1,
                AUTO_ROWNUM: 1,
                AUTO_SIZE: -1,
                FXDID_0_1: 1,
                AH: `1011610100005181871${i}`,
                MC: `数据2819675${i}`,
                NSRSBH: "61011606420589974",
                ID: "1",
                ID$MC: null,
                MD: "aaa",
                JGMC: "数据",
                "FXDID_0_1.2342131": "21.81%",
                "QSZNTS": `${12 + i}`,
                JGID: "--",
                JGID$MC: null,
                ZQ_ID: "20180000004",
            });
        }
        return result;
    },
    columns = [
    {
        "title": "序号",
        "dataIndex": "INDEX",
        "key": "INDEX",
        "width": 80,
        "className": "res-fixed-column",
        "fixed": "left"
    },
    {
        "title": "基本信息",
        "key": 'baseCols',
        "children": [
            {
                "code": "MD",
                "format": null,
                "index": 1,
                "name": "代号",
                "sfzs": "Y",
                "vtype": "CHAR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "link": null,
                "sort": null,
                "ywlx": "NSR",
                "title": "代号",
                "dataIndex": "MD",
                "key": "MD",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 2,
                "sortable": true,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'radio',
                  "data": [
                    {
                        value: 'appale',
                        label: 'Appale',
                    }, {
                        value: 'pear',
                        label: 'Pear',
                    }, {
                        value: 'orange',
                        label: 'Orange',
                    }]
                }  
            },
            {
                "code": "MC",
                "format": null,
                "index": 3,
                "name": "数据名称",
                "sfzs": "Y",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "sort": null,
                "title": "数据名称",
                "dataIndex": "MC",
                "key": "MC",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 3,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'checkbox',
                  "itemDirection":'ver',
                  "data": [
                    {
                        value: '数据',
                        label: '数据',
                    }, {
                        value: '2819',
                        label: '2819',
                    }, {
                        value: '6752',
                        label: '6752',
                    }]
                }
            },
            {
                "code": "AUTO_HINT_NUM",
                "format": "NUMBER",
                "index": 3,
                "name": "风险数",
                "sfzs": "Y",
                "vtype": "NUMBER",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "dataIndex": "AUTO_HINT_NUM",
                "key": "AUTO_HINT_NUM",
                "title": "风险数",
                "width": 98,
                "className": "res-fixed-column split-cell-r",
                "fixed": "left"
            }
        ],
    },
    {
        "title": "数据2",
        "className": " split-cell-r",
        "key": 'FXDID_0_1',
        "children": [
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "SSHS_NY_RKXX_ZB",
                "id": "12312312",
                "code": "12312312",
                "name": "天数",
                "ywlx": "ZB",
                "vtype": "MONEY",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "天数",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\",\"YF\"]",
                "jgplmc": "月/年",
                "showyjz": "N",
                "INDEX": 3,
                "key": "QSZNTS",
                "sorter": true,
                "values": [
                    "1"
                ],
                "operator": "LT",
                "cslx": "GDZ",
                "value": "1xy",
                "dm": "12312312",
                "mc": "天数",
                "title": "天数",
                "dataIndex": "QSZNTS",
                "width": 197,
                "filters": [{
                        label: '12天',
                        value: 12
                    },{
                        label: '13天',
                        value: 13
                    }, {
                        label: 'Nano 678',
                        value: 678,
                        children: [{
                            label: 'Nano 67',
                            value: 67,
                            children: [{
                                label: 'Nano 6',
                                value: 6
                            }, {
                                label: 'Nano 7',
                                value: 7
                            }]
                        }, {
                            label: 'Nano 8',
                            value: 8
                        }]
                    }, {
                        label: 'Other',
                        value: 'other',
                        children: [{
                            label: 'Nano 4',
                            value: 4
                        }, {
                            label: 'Nano 5',
                            value: 5
                        }]
                    }],
                "filterMode": 'single',
                
            },
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "ZB",
                "id": "2342131",
                "code": "2342131",
                "name": "经营费用率",
                "ywlx": "ZB",
                "vtype": "PERCET",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "经营费用率",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\"]",
                "jgplmc": "年",
                "showyjz": "N",
                "INDEX": 6,
                "key": "FXDID_0_1.2342131",
                "sorter": true,
                "values": [],
                "operator": "ISNULL",
                "cslx": "GDZ",
                "value": "4k",
                "dm": "2342131",
                "mc": "经营费用率",
                "title": "经营费用率",
                "dataIndex": "FXDID_0_1.2342131",
                "className": "",
                "width": 197
            }
        ]
    },
    {
        "title": "扩展信息",
        "key": 'kzCols',
        "children": [
            {
                "id": "JGID",
                "code": "JGID",
                "name": "机构类型",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构类型",
                "dataIndex": "JGID$MC",
                "key": "JGID",
                "width": 154
            },
            {
                "id": "JGMC",
                "code": "JGMC",
                "name": "机构名称",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构名称",
                "dataIndex": "JGMC",
                "key": "JGMC",
                "width": 154
            },
            {
                "id": "ID",
                "code": "ID",
                "name": "标志",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "标志",
                "dataIndex": "ID$MC",
                "key": "ID",
                "width": 154
            }
        ]
    }
];
class App extends Component {
    constructor(props) {
        super(props);
        this.state = {
            dataSource: dataSource()
        };
    }
// 过滤回调函数

onFilter(filterParams) {
    console.log('filter 返回数据');
    console.log(filterParams);
    let ds = dataSource();
    
    Object.keys(filterParams).forEach(key => {
        const selectedKeys = filterParams[key].selectedKeys;
        if (selectedKeys.length) {
            ds = ds.filter(record => {
                return selectedKeys.some(value => {
                    return record[key].indexOf(value) > -1;
                });
            });
        }
    });
    this.setState({dataSource: ds});
}
  render() {
    return (
      <div>
        <SyfedTable 
          dataSource={ this.state.dataSource }
          columns={ columns }
          onFilter={ this.onFilter.bind(this) }
        />
      </div>
    );
  }
}

ReactDOM.render((
  <App />
), mountNode);

复选框过滤

表格复选框过滤。

col = {
    ...colProps, //表格列其他属性值
    "sfilter": true,
    "sfilterprops": {
        "type": 'checkbox',
        "itemDirection":'ver',
        "data": [
        {
            value: '数据',
            label: '数据',
        }, {
            value: '2819',
            label: '2819',
        }, {
            value: '6752',
            label: '6752',
        }]
    }
}
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import SyfedTable from 'syfed-table';

// 模拟数据
const dataSource = () => {
        const result = [];
        for (let i = 0; i < 5; i++) {
            result.push({
                index: i + 1,
                AUTO_HINT_DMS: "FXDID_0_1",
                AUTO_HINT_NUM: 1,
                AUTO_ROWNUM: 1,
                AUTO_SIZE: -1,
                FXDID_0_1: 1,
                AH: `1011610100005181871${i}`,
                MC: `数据2819675${i}`,
                NSRSBH: "61011606420589974",
                ID: "1",
                ID$MC: null,
                MD: "aaa",
                JGMC: "数据",
                "FXDID_0_1.2342131": "21.81%",
                "QSZNTS": `${12 + i}`,
                JGID: "--",
                JGID$MC: null,
                ZQ_ID: "20180000004",
            });
        }
        return result;
    },
    columns = [
    {
        "title": "序号",
        "dataIndex": "INDEX",
        "key": "INDEX",
        "width": 80,
        "className": "res-fixed-column",
        "fixed": "left"
    },
    {
        "title": "基本信息",
        "key": 'baseCols',
        "children": [
            {
                "code": "MD",
                "format": null,
                "index": 1,
                "name": "代号",
                "sfzs": "Y",
                "vtype": "CHAR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "link": null,
                "sort": null,
                "ywlx": "NSR",
                "title": "代号",
                "dataIndex": "MD",
                "key": "MD",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 2,
                "sortable": true, 
            },
            {
                "code": "MC",
                "format": null,
                "index": 3,
                "name": "数据名称",
                "sfzs": "Y",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "sort": null,
                "title": "数据名称",
                "dataIndex": "MC",
                "key": "MC",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 3,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'checkbox',
                  "itemDirection":'ver',
                  "data": [
                    {
                        value: '数据',
                        label: '数据',
                    }, {
                        value: '2819',
                        label: '2819',
                    }, {
                        value: '6752',
                        label: '6752',
                    }]
                }
            },
            {
                "code": "AUTO_HINT_NUM",
                "format": "NUMBER",
                "index": 3,
                "name": "风险数",
                "sfzs": "Y",
                "vtype": "NUMBER",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "dataIndex": "AUTO_HINT_NUM",
                "key": "AUTO_HINT_NUM",
                "title": "风险数",
                "width": 98,
                "className": "res-fixed-column split-cell-r",
                "fixed": "left"
            }
        ],
    },
    {
        "title": "数据2",
        "className": " split-cell-r",
        "key": 'FXDID_0_1',
        "children": [
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "SSHS_NY_RKXX_ZB",
                "id": "12312312",
                "code": "12312312",
                "name": "天数",
                "ywlx": "ZB",
                "vtype": "MONEY",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "天数",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\",\"YF\"]",
                "jgplmc": "月/年",
                "showyjz": "N",
                "INDEX": 3,
                "key": "QSZNTS",
                "sorter": true,
                "values": [
                    "1"
                ],
                "operator": "LT",
                "cslx": "GDZ",
                "value": "1xy",
                "dm": "12312312",
                "mc": "天数",
                "title": "天数",
                "dataIndex": "QSZNTS",
                "width": 197,
                "filters": [{
                        label: '12天',
                        value: 12
                    },{
                        label: '13天',
                        value: 13
                    }, {
                        label: 'Nano 678',
                        value: 678,
                        children: [{
                            label: 'Nano 67',
                            value: 67,
                            children: [{
                                label: 'Nano 6',
                                value: 6
                            }, {
                                label: 'Nano 7',
                                value: 7
                            }]
                        }, {
                            label: 'Nano 8',
                            value: 8
                        }]
                    }, {
                        label: 'Other',
                        value: 'other',
                        children: [{
                            label: 'Nano 4',
                            value: 4
                        }, {
                            label: 'Nano 5',
                            value: 5
                        }]
                    }],
                "filterMode": 'single',
                
            },
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "ZB",
                "id": "2342131",
                "code": "2342131",
                "name": "经营费用率",
                "ywlx": "ZB",
                "vtype": "PERCET",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "经营费用率",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\"]",
                "jgplmc": "年",
                "showyjz": "N",
                "INDEX": 6,
                "key": "FXDID_0_1.2342131",
                "sorter": true,
                "values": [],
                "operator": "ISNULL",
                "cslx": "GDZ",
                "value": "4k",
                "dm": "2342131",
                "mc": "经营费用率",
                "title": "经营费用率",
                "dataIndex": "FXDID_0_1.2342131",
                "className": "",
                "width": 197
            }
        ]
    },
    {
        "title": "扩展信息",
        "key": 'kzCols',
        "children": [
            {
                "id": "JGID",
                "code": "JGID",
                "name": "机构类型",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构类型",
                "dataIndex": "JGID$MC",
                "key": "JGID",
                "width": 154
            },
            {
                "id": "JGMC",
                "code": "JGMC",
                "name": "机构名称",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构名称",
                "dataIndex": "JGMC",
                "key": "JGMC",
                "width": 154
            },
            {
                "id": "ID",
                "code": "ID",
                "name": "标志",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "标志",
                "dataIndex": "ID$MC",
                "key": "ID",
                "width": 154
            }
        ]
    }
];
class App extends Component {
    constructor(props) {
        super(props);
        this.state = {
            dataSource: dataSource()
        };
    }
// 过滤回调函数

onFilter(filterParams) {
    console.log('filter 返回数据');
    console.log(filterParams);
    let ds = dataSource();
    
    Object.keys(filterParams).forEach(key => {
        const selectedKeys = filterParams[key].selectedKeys;
        if (selectedKeys.length) {
            ds = ds.filter(record => {
                return selectedKeys.some(value => {
                    return record[key].indexOf(value) > -1;
                });
            });
        }
    });
    this.setState({dataSource: ds});
}
  render() {
    return (
      <div>
        <SyfedTable 
          dataSource={ this.state.dataSource }
          columns={ columns }
          onFilter={ this.onFilter.bind(this) }
        />
      </div>
    );
  }
}

ReactDOM.render((
  <App />
), mountNode);

syfed-table-tree

本 Demo 演示一行文字的用法。

import React, { Component } from 'react';
import { Table } from '@alifd/next';

const columns = [
    {
        "title": "序号",
        "dataIndex": "INDEX",
        "key": "INDEX",
        "width": 80,
        "className": "res-fixed-column",
        "fixed": "left"
    },
    {
        "title": "基本信息",
        "key": 'baseCols',
        "children": [
            {
                "code": "MD",
                "format": null,
                "index": 1,
                "name": "代号",
                "sfzs": "Y",
                "vtype": "CHAR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "link": null,
                "sort": null,
                "ywlx": "NSR",
                "title": "代号",
                "dataIndex": "MD",
                "key": "MD",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 2,
                "sortable": true,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'radio',
                }
                
            },
            {
                "code": "MC",
                "format": null,
                "index": 3,
                "name": "数据名称",
                "sfzs": "Y",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "sort": null,
                "title": "数据名称",
                "dataIndex": "MC",
                "key": "MC",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 3,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'checkbox',
                  "itemDirection":'ver',
                }
            },
            {
                "code": "AUTO_HINT_NUM",
                "format": "NUMBER",
                "index": 3,
                "name": "风险数",
                "sfzs": "Y",
                "vtype": "NUMBER",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "dataIndex": "AUTO_HINT_NUM",
                "key": "AUTO_HINT_NUM",
                "title": "风险数",
                "width": 98,
                "className": "res-fixed-column split-cell-r",
                "fixed": "left"
            }
        ],
        "className": "res-fixed-column split-cell-r",
        "fixed": "left"
    },
    {
        "title": "数据2",
        "className": " split-cell-r",
        "key": 'FXDID_0_1',
        "children": [
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "SSHS_NY_RKXX_ZB",
                "id": "12312312",
                "code": "12312312",
                "name": "天数",
                "ywlx": "ZB",
                "vtype": "MONEY",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "天数",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\",\"YF\"]",
                "jgplmc": "月/年",
                "showyjz": "N",
                "INDEX": 3,
                "key": "FXDID_0_1.12312312",
                "ysId": 1,
                "sorter": true,
                "values": [
                    "1"
                ],
                "operator": "LT",
                "cslx": "GDZ",
                "value": "1xy",
                "dm": "12312312",
                "mc": "天数",
                "title": "天数",
                "dataIndex": "FXDID_0_1.12312312",
                "width": 197,
                "filters": [{
                        label: 'Nano 3',
                        value: 3
                    }, {
                        label: 'Nano 678',
                        value: 678,
                        children: [{
                            label: 'Nano 67',
                            value: 67,
                            children: [{
                                label: 'Nano 6',
                                value: 6
                            }, {
                                label: 'Nano 7',
                                value: 7
                            }]
                        }, {
                            label: 'Nano 8',
                            value: 8
                        }]
                    }, {
                        label: 'Other',
                        value: 'other',
                        children: [{
                            label: 'Nano 4',
                            value: 4
                        }, {
                            label: 'Nano 5',
                            value: 5
                        }]
                    }],
                "filterMode": 'single',
                
            },
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "ZB",
                "id": "2342131",
                "code": "2342131",
                "name": "经营费用率",
                "ywlx": "ZB",
                "vtype": "PERCET",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "经营费用率",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\"]",
                "jgplmc": "年",
                "showyjz": "N",
                "INDEX": 6,
                "key": "FXDID_0_1.2342131",
                "ysId": 2,
                "sorter": true,
                "values": [],
                "operator": "ISNULL",
                "cslx": "GDZ",
                "value": "4k",
                "dm": "2342131",
                "mc": "经营费用率",
                "title": "经营费用率",
                "dataIndex": "FXDID_0_1.2342131",
                "className": "",
                "width": 197
            }
        ]
    },
    {
        "title": "扩展信息",
        "key": 'kzCols',
        "children": [
            {
                "id": "JGID",
                "code": "JGID",
                "name": "机构类型",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构类型",
                "dataIndex": "JGID$MC",
                "key": "JGID",
                "width": 154
            },
            {
                "id": "JGMC",
                "code": "JGMC",
                "name": "机构名称",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构名称",
                "dataIndex": "JGMC",
                "key": "JGMC",
                "width": 154
            },
            {
                "id": "ID",
                "code": "ID",
                "name": "标志",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "标志",
                "dataIndex": "ID$MC",
                "key": "ID",
                "width": 154
            }
        ]
    }
];

const tableMixTree = (
    <Table 
dataSource={columns} 
primaryKey="key" 
isTree 
rowSelection={{
    onChange: () => {}}
}
onExpandedRowClick={()=>{
    alert(111)
}}

>
    <Table.Column title="列名" dataIndex="title"/>
    <Table.Column title="宽度(px)" dataIndex="width"/>
</Table>);

ReactDOM.render(<div className="mix-demo">
    <div className="row">
        <h4>tree & select</h4>
        {tableMixTree}
    </div>
</div>, mountNode);

文本范围过滤

表格文本范围过滤。

col = {
    ...colProps, //表格列其他属性值
    "sfilter": true, // 使用过滤
    "sfilterprops": { 
        "type": 'textRange', // 过滤类型
    }
}
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import SyfedTable from 'syfed-table';

// 模拟数据
const dataSource = () => {
        const result = [];
        for (let i = 0; i < 5; i++) {
            result.push({
                index: i + 1,
                AUTO_HINT_DMS: "FXDID_0_1",
                AUTO_HINT_NUM: 1,
                AUTO_ROWNUM: 1,
                AUTO_SIZE: -1,
                FXDID_0_1: 1,
                AH: `1011610100005181871${i}`,
                MC: `数据2819675${i}`,
                NSRSBH: "61011606420589974",
                ID: "1",
                ID$MC: null,
                MD: "aaa",
                JGMC: "数据",
                "FXDID_0_1.2342131": "21.81%",
                "QSZNTS": `${12 + i}`,
                JGID: "--",
                JGID$MC: null,
                ZQ_ID: "20180000004",
            });
        }
        return result;
    },
    columns = [
    {
        "title": "序号",
        "dataIndex": "INDEX",
        "key": "INDEX",
        "width": 80,
        "className": "res-fixed-column",
        "fixed": "left"
    },
    {
        "title": "基本信息",
        "key": 'baseCols',
        "children": [
            {
                "code": "MD",
                "format": null,
                "index": 1,
                "name": "代号",
                "sfzs": "Y",
                "vtype": "CHAR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "link": null,
                "sort": null,
                "ywlx": "NSR",
                "title": "代号",
                "dataIndex": "MD",
                "key": "MD",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 2,
                "sortable": true,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'textRange'
                }  
            },
            {
                "code": "MC",
                "format": null,
                "index": 3,
                "name": "数据名称",
                "sfzs": "Y",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "sort": null,
                "title": "数据名称",
                "dataIndex": "MC",
                "key": "MC",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 3,
            },
            {
                "code": "AUTO_HINT_NUM",
                "format": "NUMBER",
                "index": 3,
                "name": "风险数",
                "sfzs": "Y",
                "vtype": "NUMBER",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "dataIndex": "AUTO_HINT_NUM",
                "key": "AUTO_HINT_NUM",
                "title": "风险数",
                "width": 98,
                "className": "res-fixed-column split-cell-r",
                "fixed": "left"
            }
        ],
    },
    {
        "title": "数据2",
        "className": " split-cell-r",
        "key": 'FXDID_0_1',
        "children": [
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "SSHS_NY_RKXX_ZB",
                "id": "12312312",
                "code": "12312312",
                "name": "天数",
                "ywlx": "ZB",
                "vtype": "MONEY",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "天数",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\",\"YF\"]",
                "jgplmc": "月/年",
                "showyjz": "N",
                "INDEX": 3,
                "key": "QSZNTS",
                "sorter": true,
                "values": [
                    "1"
                ],
                "operator": "LT",
                "cslx": "GDZ",
                "value": "1xy",
                "dm": "12312312",
                "mc": "天数",
                "title": "天数",
                "dataIndex": "QSZNTS",
                "width": 197,
                "filters": [{
                        label: '12天',
                        value: 12
                    },{
                        label: '13天',
                        value: 13
                    }, {
                        label: 'Nano 678',
                        value: 678,
                        children: [{
                            label: 'Nano 67',
                            value: 67,
                            children: [{
                                label: 'Nano 6',
                                value: 6
                            }, {
                                label: 'Nano 7',
                                value: 7
                            }]
                        }, {
                            label: 'Nano 8',
                            value: 8
                        }]
                    }, {
                        label: 'Other',
                        value: 'other',
                        children: [{
                            label: 'Nano 4',
                            value: 4
                        }, {
                            label: 'Nano 5',
                            value: 5
                        }]
                    }],
                "filterMode": 'single',
                
            },
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "ZB",
                "id": "2342131",
                "code": "2342131",
                "name": "经营费用率",
                "ywlx": "ZB",
                "vtype": "PERCET",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "经营费用率",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\"]",
                "jgplmc": "年",
                "showyjz": "N",
                "INDEX": 6,
                "key": "FXDID_0_1.2342131",
                "sorter": true,
                "values": [],
                "operator": "ISNULL",
                "cslx": "GDZ",
                "value": "4k",
                "dm": "2342131",
                "mc": "经营费用率",
                "title": "经营费用率",
                "dataIndex": "FXDID_0_1.2342131",
                "className": "",
                "width": 197
            }
        ]
    },
    {
        "title": "扩展信息",
        "key": 'kzCols',
        "children": [
            {
                "id": "JGID",
                "code": "JGID",
                "name": "机构类型",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构类型",
                "dataIndex": "JGID$MC",
                "key": "JGID",
                "width": 154
            },
            {
                "id": "JGMC",
                "code": "JGMC",
                "name": "机构名称",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构名称",
                "dataIndex": "JGMC",
                "key": "JGMC",
                "width": 154
            },
            {
                "id": "ID",
                "code": "ID",
                "name": "标志",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "标志",
                "dataIndex": "ID$MC",
                "key": "ID",
                "width": 154
            }
        ]
    }
];
class App extends Component {
    constructor(props) {
        super(props);
        this.state = {
            dataSource: dataSource()
        };
    }
// 过滤回调函数

onFilter(filterParams) {
    console.log('filter 返回数据');
    console.log(filterParams);
    let ds = dataSource();
    
    Object.keys(filterParams).forEach(key => {
        const selectedKeys = filterParams[key].selectedKeys;
        if (selectedKeys.length) {
            ds = ds.filter(record => {
                return selectedKeys.some(value => {
                    return record[key].indexOf(value) > -1;
                });
            });
        }
    });
    this.setState({dataSource: ds});
}
  render() {
    return (
      <div>
        <SyfedTable 
          dataSource={ this.state.dataSource }
          columns={ columns }
          onFilter={ this.onFilter.bind(this) }
        />
      </div>
    );
  }
}

ReactDOM.render((
  <App />
), mountNode);

日期范围过滤

日期范围过滤。

col = {
    ...colProps, //表格列其他属性值
    "sfilter": true, // 使用过滤
    "sfilterprops": { 
        "type": 'dateRange', // 过滤类型
        "dateType": 'date' // 默认date 可选 month year
    }
}
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import SyfedTable from 'syfed-table';

// 模拟数据
const dataSource = () => {
        const result = [];
        for (let i = 0; i < 5; i++) {
            result.push({
                index: i + 1,
                AUTO_HINT_DMS: "FXDID_0_1",
                AUTO_HINT_NUM: 1,
                AUTO_ROWNUM: 1,
                AUTO_SIZE: -1,
                FXDID_0_1: 1,
                AH: `1011610100005181871${i}`,
                MC: `数据2819675${i}`,
                NSRSBH: "61011606420589974",
                ID: "1",
                ID$MC: null,
                MD: "aaa",
                JGMC: "数据",
                "FXDID_0_1.2342131": "21.81%",
                "QSZNTS": `${12 + i}`,
                JGID: "--",
                JGID$MC: null,
                ZQ_ID: "20180000004",
            });
        }
        return result;
    },
    columns = [
    {
        "title": "序号",
        "dataIndex": "INDEX",
        "key": "INDEX",
        "width": 80,
        "className": "res-fixed-column",
        "fixed": "left"
    },
    {
        "title": "基本信息",
        "key": 'baseCols',
        "children": [
            {
                "code": "MD",
                "format": null,
                "index": 1,
                "name": "代号",
                "sfzs": "Y",
                "vtype": "CHAR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "link": null,
                "sort": null,
                "ywlx": "NSR",
                "title": "代号",
                "dataIndex": "MD",
                "key": "MD",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 2,
                "sortable": true,
                "sfilter": true, // 使用过滤
                "sfilterprops": { 
                    "type": 'dateRange', // 过滤类型
                    "dateType": 'date' // 默认date 可选 month year
                }  
            },
            {
                "code": "MC",
                "format": null,
                "index": 3,
                "name": "数据名称",
                "sfzs": "Y",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "sort": null,
                "title": "数据名称",
                "dataIndex": "MC",
                "key": "MC",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 3,
            },
            {
                "code": "AUTO_HINT_NUM",
                "format": "NUMBER",
                "index": 3,
                "name": "风险数",
                "sfzs": "Y",
                "vtype": "NUMBER",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "dataIndex": "AUTO_HINT_NUM",
                "key": "AUTO_HINT_NUM",
                "title": "风险数",
                "width": 98,
                "className": "res-fixed-column split-cell-r",
                "fixed": "left"
            }
        ],
    },
    {
        "title": "数据2",
        "className": " split-cell-r",
        "key": 'FXDID_0_1',
        "children": [
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "SSHS_NY_RKXX_ZB",
                "id": "12312312",
                "code": "12312312",
                "name": "天数",
                "ywlx": "ZB",
                "vtype": "MONEY",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "天数",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\",\"YF\"]",
                "jgplmc": "月/年",
                "showyjz": "N",
                "INDEX": 3,
                "key": "QSZNTS",
                "sorter": true,
                "values": [
                    "1"
                ],
                "operator": "LT",
                "cslx": "GDZ",
                "value": "1xy",
                "dm": "12312312",
                "mc": "天数",
                "title": "天数",
                "dataIndex": "QSZNTS",
                "width": 197,
                "filters": [{
                        label: '12天',
                        value: 12
                    },{
                        label: '13天',
                        value: 13
                    }, {
                        label: 'Nano 678',
                        value: 678,
                        children: [{
                            label: 'Nano 67',
                            value: 67,
                            children: [{
                                label: 'Nano 6',
                                value: 6
                            }, {
                                label: 'Nano 7',
                                value: 7
                            }]
                        }, {
                            label: 'Nano 8',
                            value: 8
                        }]
                    }, {
                        label: 'Other',
                        value: 'other',
                        children: [{
                            label: 'Nano 4',
                            value: 4
                        }, {
                            label: 'Nano 5',
                            value: 5
                        }]
                    }],
                "filterMode": 'single',
                
            },
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "ZB",
                "id": "2342131",
                "code": "2342131",
                "name": "经营费用率",
                "ywlx": "ZB",
                "vtype": "PERCET",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "经营费用率",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\"]",
                "jgplmc": "年",
                "showyjz": "N",
                "INDEX": 6,
                "key": "FXDID_0_1.2342131",
                "sorter": true,
                "values": [],
                "operator": "ISNULL",
                "cslx": "GDZ",
                "value": "4k",
                "dm": "2342131",
                "mc": "经营费用率",
                "title": "经营费用率",
                "dataIndex": "FXDID_0_1.2342131",
                "className": "",
                "width": 197
            }
        ]
    },
    {
        "title": "扩展信息",
        "key": 'kzCols',
        "children": [
            {
                "id": "JGID",
                "code": "JGID",
                "name": "机构类型",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构类型",
                "dataIndex": "JGID$MC",
                "key": "JGID",
                "width": 154
            },
            {
                "id": "JGMC",
                "code": "JGMC",
                "name": "机构名称",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构名称",
                "dataIndex": "JGMC",
                "key": "JGMC",
                "width": 154
            },
            {
                "id": "ID",
                "code": "ID",
                "name": "标志",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "标志",
                "dataIndex": "ID$MC",
                "key": "ID",
                "width": 154
            }
        ]
    }
];
class App extends Component {
    constructor(props) {
        super(props);
        this.state = {
            dataSource: dataSource()
        };
    }
// 过滤回调函数

onFilter(filterParams) {
    console.log('filter 返回数据');
    console.log(filterParams);
    let ds = dataSource();
    
    Object.keys(filterParams).forEach(key => {
        const selectedKeys = filterParams[key].selectedKeys;
        if (selectedKeys.length) {
            ds = ds.filter(record => {
                return selectedKeys.some(value => {
                    return record[key].indexOf(value) > -1;
                });
            });
        }
    });
    this.setState({dataSource: ds});
}
  render() {
    return (
      <div>
        <SyfedTable 
          dataSource={ this.state.dataSource }
          columns={ columns }
          onFilter={ this.onFilter.bind(this) }
        />
      </div>
    );
  }
}

ReactDOM.render((
  <App />
), mountNode);

隐藏/显示列

本 Demo 演示一行文字的用法。

showOrHideColumns:{
    enable: true, // 开启隐藏/显示列功能 默认 false
    trigger: showOrHideColumnsTrigger // 触发元素 默认'<span>隐藏/显示元素</span>'
}
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import { Button } from '@alifd/next';
import SyfedTable from 'syfed-table';
// 模拟数据
const dataSource = () => {
        const result = [];
        for (let i = 0; i < 5; i++) {
            result.push({
                index: i + 1,
                AUTO_HINT_DMS: "FXDID_0_1",
                AUTO_HINT_NUM: 1,
                AUTO_ROWNUM: 1,
                AUTO_SIZE: -1,
                FXDID_0_1: 1,
                AH: `1011610100005181871${i}`,
                MC: `数据2819675${i}`,
                NSRSBH: "61011606420589974",
                ID: "1",
                MD: "aaa",
                JGMC: "数据",
                "FXDID_0_1.2342131": "21.81%",
                "QSZNTS": `${12 + i}`,
                JGID: "--",
                ZQ_ID: "20180000004",
            });
        }
        return result;
    },
    /* 必填项:title、dataIndex、key,其中dataIndex和key要一致并且是独一无二的 */
    columns = [{
        "title": "序号",
        "dataIndex": "INDEX",
        "key": "INDEX",
        "width": 80,
        "className": "res-fixed-column",
        "fixed": "left"
    },
    {
        "title": "基本信息",
        "key": 'baseCols',
        "dataIndex": 'baseCols',
        "children": [
            {
                "code": "MD",
                "visible": false, // 隐藏列
                "format": null,
                "index": 1,
                "name": "代号",
                "sfzs": "Y",
                "vtype": "CHAR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "link": null,
                "sort": null,
                "ywlx": "NSR",
                "title": "代号",
                "dataIndex": "MD",
                "key": "MD",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 2,
                "sortable": true,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'txtRange',
                  "data": [
                    {
                        value: 'appale',
                        label: 'Appale',
                    }, {
                        value: 'pear',
                        label: 'Pear',
                    }, {
                        value: 'orange',
                        label: 'Orange',
                    }]
                }  
            },
            {
                "code": "MC",
                "format": null,
                "index": 3,
                "name": "数据名称",
                "sfzs": "Y",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "sort": null,
                "title": "数据名称",
                "dataIndex": "MC",
                "key": "MC",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 3,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'checkbox',
                  "itemDirection":'ver',
                  "data": [
                    {
                        value: '数据',
                        label: '数据',
                    }, {
                        value: '2819',
                        label: '2819',
                    }, {
                        value: '6752',
                        label: '6752',
                    }]
                }
            },
            {
                "code": "AUTO_HINT_NUM",
                "format": "NUMBER",
                "index": 3,
                "name": "风险数",
                "sfzs": "Y",
                "vtype": "NUMBER",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "dataIndex": "AUTO_HINT_NUM",
                "key": "AUTO_HINT_NUM",
                "title": "风险数",
                "width": 98,
                "className": "res-fixed-column split-cell-r",
                "fixed": "left"
            }
        ],
    },
    {
        "title": "数据2",
        "className": " split-cell-r",
        "key": 'FXDID_0_1',
        "dataIndex": 'FXDID_0_1',
        "children": [
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "SSHS_NY_RKXX_ZB",
                "id": "12312312",
                "code": "12312312",
                "name": "天数",
                "ywlx": "ZB",
                "vtype": "MONEY",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "天数",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\",\"YF\"]",
                "jgplmc": "月/年",
                "showyjz": "N",
                "INDEX": 3,
                "key": "QSZNTS",
                "sorter": true,
                "values": [
                    "1"
                ],
                "operator": "LT",
                "cslx": "GDZ",
                "value": "1xy",
                "dm": "12312312",
                "mc": "天数",
                "title": "天数",
                "dataIndex": "QSZNTS",
                "width": 197,
                "filters": [{
                        label: '12天',
                        value: 12
                    },{
                        label: '13天',
                        value: 13
                    }, {
                        label: 'Nano 678',
                        value: 678,
                        children: [{
                            label: 'Nano 67',
                            value: 67,
                            children: [{
                                label: 'Nano 6',
                                value: 6
                            }, {
                                label: 'Nano 7',
                                value: 7
                            }]
                        }, {
                            label: 'Nano 8',
                            value: 8
                        }]
                    }, {
                        label: 'Other',
                        value: 'other',
                        children: [{
                            label: 'Nano 4',
                            value: 4
                        }, {
                            label: 'Nano 5',
                            value: 5
                        }]
                    }],
                "filterMode": 'single',
                
            },
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "ZB",
                "id": "2342131",
                "code": "2342131",
                "name": "经营费用率",
                "ywlx": "ZB",
                "vtype": "PERCET",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "经营费用率",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\"]",
                "jgplmc": "年",
                "showyjz": "N",
                "INDEX": 6,
                "key": "FXDID_0_1.2342131",
                "sorter": true,
                "values": [],
                "operator": "ISNULL",
                "cslx": "GDZ",
                "value": "4k",
                "dm": "2342131",
                "mc": "经营费用率",
                "title": "经营费用率",
                "dataIndex": "FXDID_0_1.2342131",
                "className": "",
                "width": 197,
                "children":[
                  {
                    "id": "SW1",
                    "code": "SW1",
                    "name": "数据1",
                    "vtype": "CHAR",
                    "ywlx": "NSR",
                    "jgfwq": null,
                    "sort": null,
                    "index": 0,
                    "sfkpx": null,
                    "sfkgl": null,
                    "sfkfz": null,
                    "sfzs": null,
                    "head": null,
                    "link": null,
                    "format": null,
                    "zzfxtj": null,
                    "title": "数据1",
                    "dataIndex": "SW1",
                    "key": "SW1",
                    "width": 154,
                    "visible":false
                  },
                  {
                    "id": "SW2",
                    "code": "SW2",
                    "name": "数据2",
                    "vtype": "CHAR",
                    "ywlx": "NSR",
                    "jgfwq": null,
                    "sort": null,
                    "index": 0,
                    "sfkpx": null,
                    "sfkgl": null,
                    "sfkfz": null,
                    "sfzs": null,
                    "head": null,
                    "link": null,
                    "format": null,
                    "zzfxtj": null,
                    "title": "数据2",
                    "dataIndex": "SW2",
                    "key": "SW2",
                    "width": 154
                  }
                ]
            }
        ]
    },
    {
        "title": "扩展信息",
        "key": 'kzCols',
        "dataIndex": 'kzCols',
        "children": [
            {
                "id": "JGID",
                "code": "JGID",
                "name": "机构类型",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构类型",
                "dataIndex": "JGID",
                "key": "JGID",
                "width": 154
            },
            {
                "id": "JGMC",
                "code": "JGMC",
                "name": "机构名称",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构名称",
                "dataIndex": "JGMC",
                "key": "JGMC",
                "width": 154
            },
            {
                "id": "ID",
                "code": "ID",
                "name": "标志",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "标志",
                "dataIndex": "ID",
                "key": "ID",
                "width": 154
            }
        ]
    }
];
// const columns=treeToListForTable(cols,0,[]);//cols-数据data,0-初始化的最外层的parentId,[]-空数组,初始化构造多表头
// console.log(columns);
class App extends Component {
    constructor(props) {
        super(props);
        this.state = {
            dataSource: dataSource()
        };
    }
// 过滤回调函数

onFilter(filterParams) {
    console.log('filter 返回数据');
    console.log(filterParams);
    let ds = dataSource();
    Object.keys(filterParams).forEach(key => {
        const selectedKeys = filterParams[key].selectedKeys;
        if (selectedKeys.length) {
            ds = ds.filter(record => {
                return selectedKeys.some(value => {
                    return record[key].indexOf(value) > -1;
                });
            });
        }
    });
    this.setState({dataSource: ds});
}
  render() {

    const showOrHideColumnsTrigger = (<p><Button >隐藏/显示列22</Button></p>);
    return (
      <div>
        <SyfedTable 
          dataSource={ this.state.dataSource }
          columns={ columns }
          onFilter={ this.onFilter.bind(this) }
          showOrHideColumns={
            {
                enable: true,
                trigger: showOrHideColumnsTrigger
            }
          }
        />
      </div>
    );
  }
}

ReactDOM.render((
  <App />
), mountNode);

表格单位切换

表格单位切换

col = {
    ...colProps, //表格列其他属性值
    "vtype": 'money', // 要切换单位的类型,可是其他类型

}
table属性
<SyfedTable 
  ...
  switchShow={true}  //是否显示单位切换
  switchType="money"   //需要单位切换类型
  switchData = {switchData} //自定义单位,非必填,默认元~亿元
  defaultUnit="10000"  //默认单位,非必填,不填默认switchData数组第一个值
  showUnitText={true}  //是否显示具体单位,默认false不显示
  />
switchData 里面数据
 { value: '1', label: '元',format:formatUnit }
 format属性是单位切换方法
 非必填,默认,单位切换保留2位小数,并千分位
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import SyfedTable from 'syfed-table';

// 模拟数据
const dataSource = () => {
        const result = [];
        for (let i = 0; i < 5; i++) {
            result.push({
                INDEX: i + 1,
                AUTO_HINT_DMS: "FXDID_0_1",
                AUTO_HINT_NUM: 1,
                AUTO_ROWNUM: 1,
                AUTO_SIZE: -1,
                FXDID_0_1: 1,
                AH: `1011610100005181871${i}`,
                MC: `数据2819675${i}`,
                NSRSBH: "61011606420589974",
                ID: "1",
                ID$MC: null,
                MD: "aaa",
                JGMC: "数据",
                "FXDID_0_1.2342131": "21.81%",
                "QSZNTS": `${1234242 + i}`,
                JGID: "--",
                JGID$MC: null,
                ZQ_ID: "20180000004",
            });
        }
        return result;
    },columns = [{
        "title": "序号",
        "dataIndex": "INDEX",
        "key": "INDEX",
        "width": 80,
        "className": "res-fixed-column",
        "fixed": "left"
    },
    {
        "title": "基本信息",
        "key": 'baseCols',
        "children": [
            {
                "code": "MD",
                "format": null,
                "index": 1,
                "name": "代号",
                "sfzs": "Y",
                "vtype": "CHAR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "link": null,
                "sort": null,
                "ywlx": "NSR",
                "title": "代号",
                "dataIndex": "MD",
                "key": "MD",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 2,
                "sortable": true,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'txtRange',
                  "data": [
                    {
                        value: 'appale',
                        label: 'Appale',
                    }, {
                        value: 'pear',
                        label: 'Pear',
                    }, {
                        value: 'orange',
                        label: 'Orange',
                    }]
                }  
            },
            {
                "code": "MC",
                "format": null,
                "index": 3,
                "name": "数据名称",
                "sfzs": "Y",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "sort": null,
                "title": "数据名称",
                "dataIndex": "MC",
                "key": "MC",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 3,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'checkbox',
                  "itemDirection":'ver',
                  "data": [
                    {
                        value: '数据',
                        label: '数据',
                    }, {
                        value: '2819',
                        label: '2819',
                    }, {
                        value: '6752',
                        label: '6752',
                    }]
                }
            },
            {
                "code": "AUTO_HINT_NUM",
                "format": "NUMBER",
                "index": 3,
                "name": "风险数",
                "sfzs": "Y",
                "vtype": "NUMBER",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "dataIndex": "AUTO_HINT_NUM",
                "key": "AUTO_HINT_NUM",
                "title": "风险数",
                "width": 98,
                "className": "res-fixed-column split-cell-r",
                "fixed": "left"
            }
        ],
    },
    {
        "title": "数据2",
        "className": " split-cell-r",
        "key": 'FXDID_0_1',
        "children": [
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "SSHS_NY_RKXX_ZB",
                "id": "12312312",
                "code": "12312312",
                "name": "天数",
                "ywlx": "ZB",
                "vtype": "money",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "天数",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\",\"YF\"]",
                "jgplmc": "月/年",
                "showyjz": "N",
                "INDEX": 3,
                "key": "QSZNTS",
                "sorter": true,
                "values": [
                    "1"
                ],
                "operator": "LT",
                "cslx": "GDZ",
                "value": "1xy",
                "dm": "12312312",
                "mc": "天数",
                "title": "天数",
                "dataIndex": "QSZNTS",
                "width": 197,
                "filters": [{
                        label: '12天',
                        value: 12
                    },{
                        label: '13天',
                        value: 13
                    }, {
                        label: 'Nano 678',
                        value: 678,
                        children: [{
                            label: 'Nano 67',
                            value: 67,
                            children: [{
                                label: 'Nano 6',
                                value: 6
                            }, {
                                label: 'Nano 7',
                                value: 7
                            }]
                        }, {
                            label: 'Nano 8',
                            value: 8
                        }]
                    }, {
                        label: 'Other',
                        value: 'other',
                        children: [{
                            label: 'Nano 4',
                            value: 4
                        }, {
                            label: 'Nano 5',
                            value: 5
                        }]
                    }],
                "filterMode": 'single',
                
            },
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "ZB",
                "id": "2342131",
                "code": "2342131",
                "name": "经营费用率",
                "ywlx": "ZB",
                "vtype": "PERCET",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "经营费用率",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\"]",
                "jgplmc": "年",
                "showyjz": "N",
                "INDEX": 6,
                "key": "FXDID_0_1.2342131",
                "sorter": true,
                "values": [],
                "operator": "ISNULL",
                "cslx": "GDZ",
                "value": "4k",
                "dm": "2342131",
                "mc": "经营费用率",
                "title": "经营费用率",
                "dataIndex": "FXDID_0_1.2342131",
                "className": "",
                "width": 197
            }
        ]
    },
    {
        "title": "扩展信息",
        "key": 'kzCols',
        "children": [
            {
                "id": "JGID",
                "code": "JGID",
                "name": "机构类型",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构类型",
                "dataIndex": "JGID$MC",
                "key": "JGID",
                "width": 154
            },
            {
                "id": "JGMC",
                "code": "JGMC",
                "name": "机构名称",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构名称",
                "dataIndex": "JGMC",
                "key": "JGMC",
                "width": 154
            },
            {
                "id": "ID",
                "code": "ID",
                "name": "标志",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "标志",
                "dataIndex": "ID$MC",
                "key": "ID",
                "width": 154
            }
        ]
    }
];

const formatUnit = (str, switchUnit) => {
  let beforeUnit = 1;
  if (switchData && switchData.length > 0) {
    beforeUnit = parseInt(switchData[0].value, 10);
  }
  const strs = ((str / switchUnit) * beforeUnit).toFixed(2);
  // 判断是否有小数点
  const s = strs.toString().indexOf('.');
  if (s === -1) { // 是整数
    return `${(strs || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')}.00`;
  } else { // 是小数
    const arr = strs.toString().split('.');
    if (arr.length > 1 && arr[1].length < 2) { // 一位小数
      return `${(arr[0] || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')}.${arr[1]}0`;
    } else { // 两位小数
      return `${(arr[0] || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')}.${arr[1]}`;
    }
  }
};

const switchData = [
      { value: '10000', label: '万元' },
      { value: '1000000', label: '百万'},
      { value: '100000000', label: '千万' ,format:formatUnit},
      { value: '1000000000', label: '亿元' ,format:formatUnit},

    ];
class App extends Component {
    constructor(props) {
        super(props);
        this.state = {
            dataSource: dataSource()
        };
    }

  render() {
    return (
      <div>
        <SyfedTable 
          dataSource={ this.state.dataSource }
          columns={ columns }
          switchShow={true}
          switchType="money"
          defaultUnit="10000"
          showUnitText={true}
        //   switchData = {switchData}
        />
      </div>
    );
  }
}

ReactDOM.render((
  <App />
), mountNode);

拖拽排序

可拖拽排序的表格。

<SyfedTable 
    ...props,
    dragSortable, // 可拖拽排序
/>
import React, { Component } from 'react';

import { Table } from '@alifd/next';
import ReactDOM from 'react-dom';
import SyfedTable from 'syfed-table';

// 模拟数据
const dataSource = () => {
        const result = [];
        for (let i = 0; i < 5; i++) {
            result.push({
                index: i + 1,
                AUTO_HINT_DMS: "FXDID_0_1",
                AUTO_HINT_NUM: 1,
                AUTO_ROWNUM: 1,
                AUTO_SIZE: -1,
                FXDID_0_1: 1,
                AH: `1011610100005181871${i}`,
                MC: `数据2819675${i}`,
                NSRSBH: "61011606420589974",
                ID: "1",
                ID$MC: null,
                MD: "aaa",
                JGMC: "数据",
                "FXDID_0_1.2342131": "21.81%",
                "QSZNTS": `${12 + i}`,
                JGID: "--",
                JGID$MC: null,
                ZQ_ID: "20180000004",
            });
        }
        return result;
    },
    columns = [{
        "title": "序号",
        "dataIndex": "index",
        "key": "index",
        "width": 80,
        "className": "res-fixed-column",
        "fixed": "left"
    },
    {
        "title": "基本信息",
        "key": 'baseCols',
        "children": [
            {
                "code": "MD",
                "format": null,
                "index": 1,
                "name": "代号",
                "sfzs": "Y",
                "vtype": "CHAR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "link": null,
                "sort": null,
                "ywlx": "NSR",
                "title": "代号",
                "dataIndex": "MD",
                "key": "MD",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 2,
                "sortable": true,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'txtRange',
                  "data": [
                    {
                        value: 'appale',
                        label: 'Appale',
                    }, {
                        value: 'pear',
                        label: 'Pear',
                    }, {
                        value: 'orange',
                        label: 'Orange',
                    }]
                }  
            },
            {
                "code": "MC",
                "format": null,
                "index": 3,
                "name": "数据名称",
                "sfzs": "Y",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "sort": null,
                "title": "数据名称",
                "dataIndex": "MC",
                "key": "MC",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 3,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'checkbox',
                  "itemDirection":'ver',
                  "data": [
                    {
                        value: '数据',
                        label: '数据',
                    }, {
                        value: '2819',
                        label: '2819',
                    }, {
                        value: '6752',
                        label: '6752',
                    }]
                }
            },
            {
                "code": "AUTO_HINT_NUM",
                "format": "NUMBER",
                "index": 3,
                "name": "风险数",
                "sfzs": "Y",
                "vtype": "NUMBER",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "dataIndex": "AUTO_HINT_NUM",
                "key": "AUTO_HINT_NUM",
                "title": "风险数",
                "width": 98,
                "className": "res-fixed-column split-cell-r",
                "fixed": "left"
            }
        ],
    },
    {
        "title": "数据2",
        "className": " split-cell-r",
        "key": 'FXDID_0_1',
        "children": [
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "SSHS_NY_RKXX_ZB",
                "id": "12312312",
                "code": "12312312",
                "name": "天数",
                "ywlx": "ZB",
                "vtype": "MONEY",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "天数",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\",\"YF\"]",
                "jgplmc": "月/年",
                "showyjz": "N",
                "INDEX": 3,
                "key": "QSZNTS",
                "sorter": true,
                "values": [
                    "1"
                ],
                "operator": "LT",
                "cslx": "GDZ",
                "value": "1xy",
                "dm": "12312312",
                "mc": "天数",
                "title": "天数",
                "dataIndex": "QSZNTS",
                "width": 197,
                "filters": [{
                        label: '12天',
                        value: 12
                    },{
                        label: '13天',
                        value: 13
                    }, {
                        label: 'Nano 678',
                        value: 678,
                        children: [{
                            label: 'Nano 67',
                            value: 67,
                            children: [{
                                label: 'Nano 6',
                                value: 6
                            }, {
                                label: 'Nano 7',
                                value: 7
                            }]
                        }, {
                            label: 'Nano 8',
                            value: 8
                        }]
                    }, {
                        label: 'Other',
                        value: 'other',
                        children: [{
                            label: 'Nano 4',
                            value: 4
                        }, {
                            label: 'Nano 5',
                            value: 5
                        }]
                    }],
                "filterMode": 'single',
                
            },
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "ZB",
                "id": "2342131",
                "code": "2342131",
                "name": "经营费用率",
                "ywlx": "ZB",
                "vtype": "PERCET",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "经营费用率",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\"]",
                "jgplmc": "年",
                "showyjz": "N",
                "INDEX": 6,
                "key": "FXDID_0_1.2342131",
                "sorter": true,
                "values": [],
                "operator": "ISNULL",
                "cslx": "GDZ",
                "value": "4k",
                "dm": "2342131",
                "mc": "经营费用率",
                "title": "经营费用率",
                "dataIndex": "FXDID_0_1.2342131",
                "className": "",
                "width": 197
            }
        ]
    },
    {
        "title": "扩展信息",
        "key": 'kzCols',
        "children": [
            {
                "id": "JGID",
                "code": "JGID",
                "name": "机构类型",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构类型",
                "dataIndex": "JGID$MC",
                "key": "JGID",
                "width": 154
            },
            {
                "id": "JGMC",
                "code": "JGMC",
                "name": "机构名称",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构名称",
                "dataIndex": "JGMC",
                "key": "JGMC",
                "width": 154
            },
            {
                "id": "ID",
                "code": "ID",
                "name": "标志",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "标志",
                "dataIndex": "ID$MC",
                "key": "ID",
                "width": 154
            }
        ]
    }
];
const result = [{
    id: '001',
    time: 1951,
    title: {name: 'The Old Man and the Sea'},
}, {
    id: '002',
    time: 1925,
    title: {name: 'the great gatsby'},
}, {
    id: '003',
    time: 1719,
    title: {name: 'The adventures of Robinson Crusoe'},
}];
class App extends Component {
    constructor(props) {
        super(props);
        this.state = {
            dataSource: dataSource()
        };
    }
// 过滤回调函数

onFilter(filterParams) {
    console.log('filter 返回数据');
    console.log(filterParams);
    let ds = dataSource();
    
    Object.keys(filterParams).forEach(key => {
        const selectedKeys = filterParams[key].selectedKeys;
        if (selectedKeys.length) {
            ds = ds.filter(record => {
                return selectedKeys.some(value => {
                    return record[key].indexOf(value) > -1;
                });
            });
        }
    });
    this.setState({dataSource: ds});
}
  render() {
    return (
      <div>
        <SyfedTable 
          dragSortable
          dataSource={ this.state.dataSource }
          columns={ columns }
          onFilter={ this.onFilter.bind(this) }
        />
      </div>
    );
  }
}

ReactDOM.render((
  <App />
), mountNode);

季度过滤

表格季度过滤。

col = {
    ...colProps, //表格列其他属性值
    "sfilter": true, // 使用过滤
    "sfilterprops": { 
        "type": 'quarter', // 过滤类型季度
         "dateData":[2016,2017,2018,2019] //年份显示非必填,不填就是显示所有年份

    }
}
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import SyfedTable from 'syfed-table';

// 模拟数据
const dataSource = () => {
        const result = [];
        for (let i = 0; i < 5; i++) {
            result.push({
                index: i + 1,
                AUTO_HINT_DMS: "FXDID_0_1",
                AUTO_HINT_NUM: 1,
                AUTO_ROWNUM: 1,
                AUTO_SIZE: -1,
                FXDID_0_1: 1,
                AH: `1011610100005181871${i}`,
                MC: `数据2819675${i}`,
                NSRSBH: "61011606420589974",
                ID: "1",
                ID$MC: null,
                MD: "aaa",
                JGMC: "数据",
                "FXDID_0_1.2342131": "21.81%",
                "QSZNTS": `${12 + i}`,
                JGID: "--",
                JGID$MC: null,
                ZQ_ID: "20180000004",
            });
        }
        return result;
    },
    columns = [
    {
        "title": "序号",
        "dataIndex": "INDEX",
        "key": "INDEX",
        "width": 80,
        "className": "res-fixed-column",
        "fixed": "left"
    },
    {
        "title": "基本信息",
        "key": 'baseCols',
        "children": [
            {
                "code": "MD",
                "format": null,
                "index": 1,
                "name": "代号",
                "sfzs": "Y",
                "vtype": "CHAR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "link": null,
                "sort": null,
                "ywlx": "NSR",
                "title": "代号",
                "dataIndex": "MD",
                "key": "MD",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 2,
                "sortable": true,
                "sfilter": true,
                "sfilterprops": {
                  "type": 'quarter',
                  "dateData":[2016,2017,2018,2019]
                }  
            },
            {
                "code": "MC",
                "format": null,
                "index": 3,
                "name": "数据名称",
                "sfzs": "Y",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "sort": null,
                "title": "数据名称",
                "dataIndex": "MC",
                "key": "MC",
                "fixed": "left",
                "sorter": false,
                "width": 140,
                "className": "res-fixed-column",
                "xh": 3,
            },
            {
                "code": "AUTO_HINT_NUM",
                "format": "NUMBER",
                "index": 3,
                "name": "风险数",
                "sfzs": "Y",
                "vtype": "NUMBER",
                "ywlx": "NSR",
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "head": null,
                "dataIndex": "AUTO_HINT_NUM",
                "key": "AUTO_HINT_NUM",
                "title": "风险数",
                "width": 98,
                "className": "res-fixed-column split-cell-r",
                "fixed": "left"
            }
        ],
    },
    {
        "title": "数据2",
        "className": " split-cell-r",
        "key": 'FXDID_0_1',
        "children": [
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "SSHS_NY_RKXX_ZB",
                "id": "12312312",
                "code": "12312312",
                "name": "天数",
                "ywlx": "ZB",
                "vtype": "MONEY",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "天数",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\",\"YF\"]",
                "jgplmc": "月/年",
                "showyjz": "N",
                "INDEX": 3,
                "key": "QSZNTS",
                "sorter": true,
                "values": [
                    "1"
                ],
                "operator": "LT",
                "cslx": "GDZ",
                "value": "1xy",
                "dm": "12312312",
                "mc": "天数",
                "title": "天数",
                "dataIndex": "QSZNTS",
                "width": 197,
                "filters": [{
                        label: '12天',
                        value: 12
                    },{
                        label: '13天',
                        value: 13
                    }, {
                        label: 'Nano 678',
                        value: 678,
                        children: [{
                            label: 'Nano 67',
                            value: 67,
                            children: [{
                                label: 'Nano 6',
                                value: 6
                            }, {
                                label: 'Nano 7',
                                value: 7
                            }]
                        }, {
                            label: 'Nano 8',
                            value: 8
                        }]
                    }, {
                        label: 'Other',
                        value: 'other',
                        children: [{
                            label: 'Nano 4',
                            value: 4
                        }, {
                            label: 'Nano 5',
                            value: 5
                        }]
                    }],
                "filterMode": 'single',
                
            },
            {
                "fxdmc": "数据2",
                "fxddm": "FXDID_0_1",
                "fxzxms": "1",
                "ywbid": "ZB",
                "id": "2342131",
                "code": "2342131",
                "name": "经营费用率",
                "ywlx": "ZB",
                "vtype": "PERCET",
                "ywfl": null,
                "flfs": "MR",
                "ywms": "经营费用率",
                "wlbbm": "",
                "ysbm": "",
                "mcsql": null,
                "jgfwq": "2017-01-01",
                "jgfw": "2017-2019",
                "jgpl": "[\"ND\"]",
                "jgplmc": "年",
                "showyjz": "N",
                "INDEX": 6,
                "key": "FXDID_0_1.2342131",
                "sorter": true,
                "values": [],
                "operator": "ISNULL",
                "cslx": "GDZ",
                "value": "4k",
                "dm": "2342131",
                "mc": "经营费用率",
                "title": "经营费用率",
                "dataIndex": "FXDID_0_1.2342131",
                "className": "",
                "width": 197
            }
        ]
    },
    {
        "title": "扩展信息",
        "key": 'kzCols',
        "children": [
            {
                "id": "JGID",
                "code": "JGID",
                "name": "机构类型",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构类型",
                "dataIndex": "JGID$MC",
                "key": "JGID",
                "width": 154
            },
            {
                "id": "JGMC",
                "code": "JGMC",
                "name": "机构名称",
                "vtype": "CHAR",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "机构名称",
                "dataIndex": "JGMC",
                "key": "JGMC",
                "width": 154
            },
            {
                "id": "ID",
                "code": "ID",
                "name": "标志",
                "vtype": "WD",
                "ywlx": "NSR",
                "jgfwq": null,
                "sort": null,
                "index": 0,
                "sfkpx": null,
                "sfkgl": null,
                "sfkfz": null,
                "sfzs": null,
                "head": null,
                "link": null,
                "format": null,
                "zzfxtj": null,
                "title": "标志",
                "dataIndex": "ID$MC",
                "key": "ID",
                "width": 154
            }
        ]
    }
];
class App extends Component {
    constructor(props) {
        super(props);
        this.state = {
            dataSource: dataSource()
        };
    }
// 过滤回调函数

onFilter(filterParams) {
    console.log('filter 返回数据');
    console.log(filterParams);
    let ds = dataSource();
    
    Object.keys(filterParams).forEach(key => {
        const selectedKeys = filterParams[key].selectedKeys;
        if (selectedKeys.length) {
            ds = ds.filter(record => {
                return selectedKeys.some(value => {
                    return record[key].indexOf(value) > -1;
                });
            });
        }
    });
    this.setState({dataSource: ds});
}
  render() {
    return (
      <div>
        <SyfedTable 
          dataSource={ this.state.dataSource }
          columns={ columns }
          onFilter={ this.onFilter.bind(this) }
        />
      </div>
    );
  }
}

ReactDOM.render((
  <App />
), mountNode);