A Vue.js 2 component to transform and download a json in csv format
npm install vue-json-to-csvA Vue.js 2 component to transform and download a json in csv format https://angeliquekom.github.io/vue-json-to-csv.github.io/
npm install --save vue-json-to-csv or use dist/vue-json-to-csv.min.js
For vue-cli user:
``javascript`
import VueJsonToCsv from 'vue-json-to-csv'
For standalone usage:
`html`
Simple usage: will generate a default button. The csv will include all the labels (name, surname) and the data
`html`
#### Result csv
csv.csv
| name | surname |
|----------|------|
| Joe | Roe |
| John | Doe |
Selected labels with custom csv title: will generate a custom button as defined at the slot. The csv will include only the "name" label with the "First name" title and the relevant data.
`html`
:csv-title="My_CSV"
>
#### Result csv
My_CSV.csv
| First name |
|----------|
| Joe |
| John |
Handle success/error with custom button, returns specific labels with custom title: use of custom methods on success or error.
`html``
name: { title: 'First name' },
salary: { title: 'Annual salary' },
hours: { title: 'Hours/week' }
}"
@success="val => handleSuccess(val)"
@error="val => handleError(val)">
| Prop | Details |
|----------|------|
| json-data | Array of the objects which contain the data to display (required). Each key will be a different column at the csv. All the objects should contain the same keys. If empty array an error will be returned. Example: [ { name: 'Joe', surname: 'Roe' }, { name: 'Joe', surname: 'Doe' }]|
| show-labels | Boolean. If false the first row of the csv will not contain the labels names. |
| labels | An object of the keys of the labels will be displayed. Use to filter the keys to display and modify their label title. For each key we provide the title of the key to displayed. If not defined all the keys will be parsed. Example: { name: { title: 'First name' } }|
| csv-title | String. The title of the generated csv. Default: 'csv' |
| separator | String. The separator of the columns. Default: ',' |
| @update:error | Will be triggered in case of an empty json array, if the labels object has not children or any parsing issue |
| @update:success| Will be triggered in case of a successful csv creation |