DEV Community

HC
HC

Posted on • Edited on

Create a table with multiple features in few minutes

By using vue3-easy-data-table, you can create a table with multiple features includes sorting, paginating and fixed columns in few minutes.

Step 1

Import vue3-easy-data-table and Vue.js 3.x on CDN via script tags:

<link href="https://unpkg.com/vue3-easy-data-table/dist/style.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/vue@3.2.1/dist/vue.global.js"></script> <script src="https://unpkg.com/vue3-easy-data-table"></script> 
Enter fullscreen mode Exit fullscreen mode

Step 2

Use vue3-easy-data-table!
Make left side fixed columns by setting fixed property to true in header items.
Set sortable property true in header items to make the corresponding columns sortable.

<div id="app"> <easy-data-table :headers="headers" :items="items" /> </div> <script> const App = { components: { EasyDataTable: window['vue3-easy-data-table'], }, data () { return { headers:[ { text: "PLAYER", value: "player", fixed: true, width: 200}, { text: "TEAM", value: "team"}, { text: "NUMBER", value: "number"}, { text: "POSITION", value: "position"}, { text: "HEIGHT", value: "indicator.height"}, { text: "WEIGHT (lbs)", value: "indicator.weight", sortable: true}, { text: "LAST ATTENDED", value: "lastAttended", width: 200}, { text: "COUNTRY", value: "country"}, ], items: [ { player: "Stephen Curry", team: "GSW", number: 30, position: 'G', indicator: {"height": '6-2', "weight": 185}, lastAttended: "Davidson", country: "USA"}, { player: "Lebron James", team: "LAL", number: 6, position: 'F', indicator: {"height": '6-9', "weight": 250}, lastAttended: "St. Vincent-St. Mary HS (OH)", country: "USA"}, { player: "Kevin Durant", team: "BKN", number: 7, position: 'F', indicator: {"height": '6-10', "weight": 240}, lastAttended: "Texas-Austin", country: "USA"}, { player: "Giannis Antetokounmpo", team: "MIL", number: 34, position: 'F', indicator: {"height": '6-11', "weight": 242}, lastAttended: "Filathlitikos", country: "Greece"}, ], } }, }; Vue.createApp(App).mount('#app'); </script> 
Enter fullscreen mode Exit fullscreen mode

Done!

Image description

Demo

Edit on CodeSandbox

Document

For more information of vue3-easy-data-table, please check the document here: https://hc200ok.github.io/vue3-easy-data-table-doc/

Top comments (0)