Skip to content

Latest commit

 

History

History
187 lines (147 loc) · 6.02 KB

README.en.md

File metadata and controls

187 lines (147 loc) · 6.02 KB

vxe-table

简体中文 | 繁體中文 | English | 日本語

star npm version NodeJS with Webpack npm downloads issues issues closed pull requests pull requests closed npm license

A vue based PC form component, support add delete change check, virtual tree, drag and drop, lazy loading, shortcut menu, data verification, import/export/print, form rendering, custom template, renderer, JSON configuration...

Browser Support

Edge Chrome Firefox Opera Safari
Latest ✔ Latest ✔ Latest ✔ Latest ✔ Latest ✔

Features

  • Basic table
  • Configuration grid
  • Striped
  • Table with border
  • Cell style
  • Column resizing
  • Column drag and drop
  • Row drag and drop
  • Minimum/maximum height
  • Resize height & width
  • Fixed column
  • Grouping table header
  • Table footer
  • Highlight row & column
  • Table sequence
  • Radio
  • Checkbox
  • Sorting
  • Multi field sorting
  • Filter
  • Merged cells
  • Merged footer items
  • Import/Export/Print
  • Show/Hide column
  • Drag and drop/Customize column sorting
  • Loading
  • Formatted cell
  • Slot - template
  • Context menu
  • Detail - Expandable row
  • Toolbar
  • Virtual tree
  • Editable CRUD
  • Validate
  • Data Proxy
  • Keyboard navigation
  • VxeGlobalRenderer
  • Virtual scroll
  • Virtual merger
  • CSS Variable Theme
  • (Enterprise) Cell area selection
  • (Enterprise) Cell copy & paste
  • (Enterprise) Cell find and replace
  • (Enterprise) Full keyboard operation
  • (Enterprise) Integrated chart

Installing

Version: vue 3.x

npm install vxe-table@next

Get on unpkg and cdnjs

NPM

Use Table

// ...
import VxeTable from 'vxe-table'
import 'vxe-table/lib/style.css'
// ...

createApp(App).use(VxeTable).mount('#app')

Use Table and UI

// ...
import VxeTable from 'vxe-table'
import 'vxe-table/lib/style.css'
// ...

import VxeUI from 'vxe-pc-ui'
import 'vxe-pc-ui/lib/style.css'
// ...

createApp(App).use(VxeUI).use(VxeTable).mount('#app')

CDN

Use a third-party CDN to remember to lock the version number to avoid being affected by incompatible updates.
It is not recommended to use the CDN address of a third party in a formal environment because the connection can fail at any time

<!-- style -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vxe-pc-ui/lib/style.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vxe-table@next/lib/style.css">
<!-- vue -->
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<!-- table -->
<script src="https://cdn.jsdelivr.net/npm/xe-utils"></script>
<script src="https://cdn.jsdelivr.net/npm/vxe-pc-ui"></script>
<script src="https://cdn.jsdelivr.net/npm/vxe-table@next"></script>

Example

<template>
  <div>
    <vxe-table :data="tableData">
      <vxe-column type="seq" title="Seq" width="60"></vxe-column>
      <vxe-column field="name" title="Name"></vxe-column>
      <vxe-column field="role" title="Role"></vxe-column>
      <vxe-colgroup title="Group1">
        <vxe-column field="sex" title="Sex"></vxe-column>
        <vxe-column field="address" title="Address"></vxe-column>
      </vxe-colgroup>
    </vxe-table>
  </div>
</template>

<script lang="ts" setup>
import { ref } from 'vue'

const tableData = ref([
  { id: 10001, name: 'Test1', role: 'Develop', sex: 'Man', address: 'Shenzhen' },
  { id: 10002, name: 'Test2', role: 'Test', sex: 'Man', address: 'Guangzhou' },
  { id: 10003, name: 'Test3', role: 'PM', sex: 'Man', address: 'Shanghai' }
])
</script>

Online Documents

👉 UI Document
👉 Table Document

Run the project

Install dependencies

npm run update

Start local debugging

npm run serve

Compile packaging, generated compiled directory: es,lib

npm run lib

Contributors

Thank you to everyone who contributed to this project.

vxe-table

License

MIT © 2019-present, Xu Liangzhan