vue-table-for

vue-table-for is a table builder for an array of objects, easily allowing overriding of how any aspect of the table is generated
15,891 33
Install
npm install vue-table-for@0.1.9
Latest Version:0.1.9
Vue:2
License:MIT
Last Updated:Jun 30, 2024
Links: GitHub  ·  npm
Maintainer: hunterae

vue-table-for

npm version

Installation

Yarn:

yarn add vue-table-for

Npm:

npm install vue-table-for

CDN: UNPKG | jsDelivr

Usage

First you need to load vue-table-for somewhere in your app:

import Vue from 'vue'
import TableFor from 'vue-table-for'
Vue.use(TableFor)

DEMO

LIVE DEMO for examples.

Components

TableFor

Builds a table for a collection of records.

Only the data columns are required. Header columns will be automatically generated based on the data columns but can be overridden using slots.

<template>
  <table-for
    class="table table-bordered"
    :records="records"
  >
    <td name="first_name" />
    <td name="last_name" />
    <td name="email" />
  </table-for>
</template>

<script>
import Axios from 'axios'
export default {
  data() {
    return {
      records: []
    }
  },
  mounted() {
    axios
      .get(
        "https://raw.githubusercontent.com/hunterae/vue-table-for/master/examples/people.json"
      )
      .then(response => {
        this.records = response.data
      })
  }
}
</script>

More documentation coming soon

Coming Soon

  • Tests
  • More documentation and examples (including the TableFor API)
  • Ability to specify table columns as a prop
  • Globally apply options to each data column
  • Sorting utilities and abilities for each column
  • Styling and overrides for the pagination links
  • Filtering utilities
  • Ability to provide slots in relation to various hooks provided throughout the component (integration with vue-slot-hooks - wip plugin)
  • Install plugin with a global instance of Vue (i.e. not as plugin using Vue.use(TableFor))
  • Release notes and tagged versions in Git

Acknowledgements

vue-table-for is more-or-less a direct port over of my Ruby on Rails' table-for Gem, which spawned out of my Ruby on Rails' blocks Gem. Upon learning VueJS, I realized that a ton of the concepts could be reused (and possibly improved) using VueJS syntax.

I also thank Fernando Garcia for recommending VueJS in the first place, helping me learn a lot of the ins and outs, and also acting as a collaborator for this plugin.

I studied the vue-fullscreen plugin and reproduced a lot of similar approaches for how that plugin is setup, particularly with how it is used to create its own documentation and examples.

I also followed used approaches from these two articles How to create, publish and use your own VueJS Component library on NPM using @vue/cli 3.0 and Writing a very simple plugin in Vue.js - (Example) in learning how to create a VueJS plugin.

Related Packages

gridjs-vue

A Vue.js wrapper component for Grid.js

65,492 99
vue-tidy-table

Create a HTML table that can be sorted, selected, and post-processed.

1,192 0
@harv46/vue-table

A vue table component with pagination component included.

634 6
@tiaohsun/vue-datatable

A self-contained Vue 3 data table (Tailwind 4-styled, no Tailwind install requir...

870 1

Version History

Version Released License
0.1.9 MIT
0.1.8 MIT
0.1.7 MIT
0.1.6 MIT
0.1.5 MIT
Pre-releases (2)
Version Released License
0.2.0-rc2 MIT
0.2.0-rc1 MIT