VSeed, an elegant data composer, transforming complexity into simplicity.
!!!###!!!title=React-VTable——VisActor/VTable tutorial documents!!!###!!!!!!###!!!description=The `@visactor/react-vtable` package is a React encapsulation to make it easier to use VTable in the React environment. This component mainly encapsulates the VTable table in React component form, and the related configuration items are consistent with the VTable.!!!###!!!
React-VTable
The @visactor/react-vtable package is a React encapsulation to make it easier to use VTable in the React environment. This component mainly encapsulates the VTable table in React component form, and the related configuration items are consistent with the VTable.
Quick start
Environmental requirements
Make sure node, npm and React are installed in your environment and meet the following version requirements:
node 10.12.0+
npm 6.4.0+
react 16.0+
Install
Install using the package manager
# use npmnpm install @visactor/react-vtable
# use yarnyarn add @visactor/react-vtable
React-VTable provides two styles of components for developers to use, namely unified tags and syntactic tags.
Unified tags
Unified tags refer to using a Table tag to receive a complete option configuration. If VTable is already used in the project, this method can quickly use React-VTable. The above example is a demo using unified tags.
Same as VTable React-VTable provides three table types:
ListTable: List table, used to display list data demo
PivotTable: Pivot table, used to display cross-pivot data demo
PivotChart: Pivot chart, used to display cross-pivot data and display it in a chart demo
The props of these three React components are defined as follows:
For the definition of EventsProps, refer to the event binding chapter.
onReady is a built-in callback event that will be triggered when the table is rendered or updated. Its input parameters respectively represent the table instance object and whether it is rendered for the first time.
The React-VTable unified label is almost the equivalent function of VTable, which can facilitate developers to migrate React versions, and options obtained from the community or sample center can be used directly in this way, with almost no additional learning cost for developers.
Grammatical tags
Grammatical tags mean that React-VTable encapsulates some components in the table as React components and exports them to developers. Developers can define tables in a way that is more semantic and closer to native React declarations. It should be noted that the definition content of grammatical tags can be converted into each other with the table description option in most scenarios.
It should be noted that although the chart is declared in the form of a React component by definition, it is not parsed into a DOM for rendering in the actual implementation. Therefore, if you use the inspection element, you cannot see the DOM corresponding to each chart component.
ListTable
The props attributes accepted by ListTable are consistent with options. The subcomponents in ListTable are as follows
ListColumn: List column, consistent with the definition of columns in option api
The Props of the outermost table component of the unified label or the syntactic table label inherit the event processing callback EventsProps of the table.
For detailed description of the event, please refer to: Event Introduction
register
In VTable, components such as chart, editor, etc. need to be registered before use; React-VTable also provides the register method, which is used to register components. The usage is as follows:
import { register } from '@visactor/react-vtable';
import VChart from '@visactor/vchart';
register.chartModule('vchart', VChart);
// ......
Keep column width
In React-VTable, the update of props will trigger VTable's updateOption (or setRecords). If the column width is manually adjusted, it will cause the column width to be reset to the initial state. If you need to keep the column width, you can configure keepColumnWidthChange props to true. It should be noted that in the list, each ListColumn needs to be configured with key as a unique identifier, which is not required in the pivot table.
To make it easy for React developers to quickly customize cell content, React-VTable provides the ability to encapsulate components and use them in cells.