0.3.3 • Published 5 years ago

vue-table-pro v0.3.3

Weekly downloads
7
License
MIT
Repository
github
Last release
5 years ago

vue-table-pro

A Vue component for rendering tables with your datasets.

npm npm npm vue2


Installation

# NPM
npm install vue-table-pro

# Yarn
yarn add vue-table-pro

Usage

Import VueTablePro in the main.js file

import Vue from 'vue'
import VueTablePro from 'vue-table-pro'

Vue.use(VueTablePro)

Include VueTablePro in your Vue components

<template>
  <VueTablePro :rows="tableData"></VueTablePro>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { name: "Patrick", age: 31 },
        { name: "Theresa", age: 25 },
        { name: "Bill", age: 19 },
        { name: "Jane", age: 44 }
      ]
    }
  }
}
</script>

Or use it directly in your pages

<!-- HTML file -->

<div id="people">
  <vue-table-pro :rows="tableData"></vue-table-pro>
</div>
// main.js file

new Vue({
    el: "#people",
    data: {
        tableData: [
            { name: "Patrick", age: 31 },
            { name: "Theresa", age: 25 },
            { name: "Bill", age: 19 },
            { name: "Jane", age: 44 }
        ]
    }
});

Attributes

AttributeTypeDefaultDescription
rowsarraynullArray of objects containing the table data (required)
columnsobjectnullColumns to show on the table, when null it shows all columns
tableCaptionstringnullAdd table caption
tableHeaderbooleantrueShow/hide table headers
searchobjectnullEnables table search and contains its options
sortableColumnsbooleantrueMake the table columns values sortable (uses sort method)
paginationobjectnullEnables table pagination and contains its options
expandableobjectnullEnables table expandable rows and contains its options

Attribute examples:

Rows:

[
  {
    name: "John Doe",
    age: 21,
    description: "Lorem ipsum dolor sit amet"
  },
  {
    name: "Jane Doe",
    age: 21,
    description: "Lorem ipsum dolor sit amet"
  },
]

Columns:

{
  name: "Name",
  age: "Age",
}

Search:

{
  placeholder: 'Type your search',
  className: 'search-classname',
}

Pagination:

{
  perPage: 15,
  size: 6,
  arrows: true
}

Expandable:

{
  withColumns: ['name', 'age'],
  attachFields: {
    description: 'Description',
  }
}

Slots

Table extra columns:

<VueTablePro :columns="{ edit_column: 'Edit', delete_column: 'Delete' }">
  <a slot="edit_column">Edit</a>
  <a slot="delete_column">Delete</a>
</VueTablePro>

Table search empty results:

<VueTablePro>
  <div slot="search_empty_results">
    <p>No results found.</p>
  </div>
</VueTablePro>

License

vue-table-pro is open-sourced software licensed under the MIT license.

0.3.3

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.0

5 years ago