1.0.2 • Published 5 years ago

react-virtualize-search-table v1.0.2

Weekly downloads
16
License
-
Repository
-
Last release
5 years ago

react-virtualize-search-table

Table powered by react-virtualized table with search and sort.

demo: https://flyingpath.github.io/react-virtualize-search-table

Prop Types

PropertyTypeRequired?Description
titleelement or stringtable title
columnsarrayYArray of data object with dataKey and label Example
dataarrayYArray of data object with element, searchKey and orderKey. Example
rowHeightnumberNHeight of row, default: 60
onRowClickfunctionN
rowClassNamestringN
headerClassNamestringN
rowHeitableClassNameghtstringN

columns

[
    { 
        dataKey: 'name',        
        label: 'name' 
    },
    { 
        dataKey: 'description', 
        label: 'description' 
    },
    { 
        dataKey: 'danger',      
        label: '危機值危機值危機值危' 
    }
]

data

The keys in the object is linked to the dataKeys in columns.

SearchKey is used for search. OrderKey is used for sort.

[
    { 
        name  : {
            element     : ( <div>Brian Vaughn</div> ),
            searchKey   : 'Brian Vaughn',
            orderKey    : 'Brian Vaughn'
        }, 
        description: {
            element     : ( <div>xxxxx</div> ),
            searchKey   : 'Software engineer',
            orderKey    : 'Software engineer'
        },
        danger: {
            element     : ( <div>0</div> ),
            searchKey   : false,
            orderKey    : 0
        }
    },
    { 
        name  : {
            element     : ( <div></div> ),
            searchKey   : 'Brian Vaughn2',
            orderKey    : 'Brian Vaughn2'
        }, 
        description: {
            element     : ( <div>xxxxx</div> ),
            searchKey   : 'Software engineer3',
            orderKey    : 'Software engineer3'
        },
        danger: {
            element     : ( <div></div> ),
            searchKey   : false,
            orderKey    : 0
        }
    }, ...
]

Example

import React from 'react'
import ReactVirtulizeSearchTable from './components/index'

class App extends React.Component {
    constructor(props) {
        super(props)
        this.state = {
            columns: [],
            data: []
        }
    }

    render() {
        const demo =     {
            title: '門診紀錄列表',
            columns:  [
                { dataKey: 'name',        label: 'name' },
                { dataKey: 'description', label: 'description' },
                { dataKey: 'danger',      label: '危機值危機值危機值危' },
            ],
            data: [
                { 
                    name  : {
                        element     : ( <div>1234</div> ),
                        searchKey   : '12343',
                        orderKey    : 'Brian Vaughn1'
                    }, 
                    description: {
                        element     : ( <div>1234</div> ),
                        searchKey   : '12343',
                        orderKey    : 'Software engineer'
                    },
                    danger: {
                        element     : ( <div>o</div> ),
                        searchKey   : true,
                        orderKey    : 1
                    }
                }
            ]
        }

        return (
            <div style={{ height: '100%' }}>
                <ReactVirtulizeSearchTable {...demo} />
            </div>
        )
    }

}

export default App