#API 总览
MBA 没有默认入口(不建议 import ... from 'mba'),请按渲染方式选择子路径。
#入口模块
| 模块 | 内容 |
|---|---|
mba/csr | React Client 图表组件(支持 tooltip/交互/动画,支持 ref) |
mba/ssr | 静态 SVG 图表组件(适合 RSC/构建期,无 tooltip/交互) |
mba/dom | 命令式图表类(适合非 React,或你想手动调用 data/options/toSVG) |
mba/type | 类型导出(WithSingle/WithMulti、GraphGrid、Axis、Legend…) |
mba/utils/Setting | 全局配置与样式覆盖(GLOBAL/globalSetting/setStyle/setGraphColor) |
#CSR 图表组件(节选)
TSX
'use client'
import { Bar, Line, Pie, Radar, Gauge } from 'mba/csr'
import type { BarRef } from 'mba/csr'
CSR 组件支持 ref,ref 指向底层 DOM 图表实例(实现了 IGraph)。
TSX
'use client'
import { useRef } from 'react'
import { Bar } from 'mba/csr'
import type { BarRef } from 'mba/csr'
export default () => {
const ref = useRef<BarRef>(null)
return <Bar ref={ref} labelField="name" valueField="value" valueLabel="Value" data={[{ name: 'A', value: 1 }]} />
}
#SSR 图表组件(节选)
TSX
import { Bar, Line, Pie } from 'mba/ssr'
SSR 组件必须显式传入 width/height/data(静态输出)。
#DOM 图表类(节选)
TypeScript
import { Bar, Line, Pie } from 'mba/dom'
const chart = new Bar({ selector: '#chart', labelField: 'name', valueField: 'value', valueLabel: 'Value' })
chart.data([{ name: 'A', value: 1 }])
#核心类型(常用)
TypeScript
import type {
GraphGrid,
Axis,
Legend,
ValueFormat,
FillStyle,
GraphChannel,
WithSingle,
WithMulti,
} from 'mba/type'