yu-vue-pivottable
TypeScript icon, indicating that this package has built-in type declarations

0.8.0 • Public • Published

yu-pivottable

  • pivottable的简单实现
  • 目前只有组件 PivotTable 实现
  • PivotTableUI 组件暂未实现
  • 参考 PivotTable.js
  • 参考 react-pivottable
  • js 文件小于10kb

使用方法

preact

import { render } from 'preact';
import { createPivotData, PivotTable, pivotAggregators, PivotCellClick } from 'yu-pivottable';
import 'yu-pivottable/preact/pivot.css';

const mps = await import('./mps.json').then(r => r.default);
const pivotData = createPivotData<Record<string, any>>(mps as any, {
  rows: ['book'],
  cols: ['market', 'product'],
  vals: ['lot'],
  aggregator: pivotAggregators.Sum,
});
const handleCellClick: PivotCellClick = (e, value, filters) => {
  console.log(e, value, filters);
};
render(
  <PivotTable pivotData={pivotData} onCellClick={handleCellClick} />,
  document.getElementById('app') as HTMLElement
);

vue

import { createApp } from 'vue';
import { createPivotData, pivotAggregators, PivotCellClick, PivotTable } from 'yu-vue-pivottable';
import 'yu-pivottable/vue/pivot.css';

const mps = await import('./mps.json').then(r => r.default);
const pivotData = createPivotData<Record<string, any>>(mps as any, {
  rows: ['book'],
  cols: ['market', 'product'],
  vals: ['lot'],
  aggregator: pivotAggregators.Sum,
});
const handleCellClick: PivotCellClick = (e, value, filters) => {
  console.log(e, value, filters);
};
const app = createApp({
  render() {
    return <PivotTable pivotData={pivotData} onCellClick={handleCellClick} />;
  },
});
app.mount('#app__vue');

/yu-vue-pivottable/

    Package Sidebar

    Install

    npm i yu-vue-pivottable

    Weekly Downloads

    1

    Version

    0.8.0

    License

    Apache

    Unpacked Size

    31.8 kB

    Total Files

    13

    Last publish

    Collaborators

    • qq1448896454