```jsx import _minBy from 'lodash/minBy' import _sortBy from 'lodash/sortBy' import { number } from "../../utils/filters" let body = require('../../mocks/tableInfusersBody').default; let bodyMapped = body.map((item, index) => { return { ...item, avatar: item.image_small, views_count: number(item.views_count, 0), average_views_per_video: number(item.average_views_per_video, 0), subscribers_count: number(item.subscribers_count, 0), categories: item.categories.map(c => c.title).join(', '), language: item.language.name, country: item.country.name, price: item.agency_channels.filter( item => item.type === 2 ).length ? number(_minBy(item.agency_channels.filter( item => item.type === 2 ), 'total').total, 0) + ' $' : null, } }).slice(0, 50); let sortBy = 'language'; let sortDescending = true; let sort = ({key, descending}) => { alert(`Key: ${key}, Desc: ${descending}`) sortBy = key sortDescending = descending } let checkedItems = []; let check = value => { alert(`Values: ${value}`) checkedItems = [...value]; } const tablePlaceholders = { no_data: 'Данных вообще нет!', all_loaded: 'Всё уже загружено', menu: { copy: "Скопировать данные ячейки", open_in_new_tab: "Открыть в новой вкладке", open_in_new_window: "Открыть в новом окне", }, } function handleCellClassName({rowIndex}) { return "mc-virtual-table-col--border-bottom" } let loading = false function handleLoad() { loading = true setTimeout(() => { //alert(' data loaded') loading = false }, 2000) } const sortNameMethod = (a, b) => a - b function handleSorted({order}) { console.log(order) } function cellClickEvent(opt) { console.log(opt) } function selectChangeEvent({row, checked}) { alert(`${row.title} ${checked}`) }
More info: https://xuliangzhan.com/vxe-table , https://xuliangzhan.github.io/vxe-table

```