1.2.1 • Published 4 years ago

mv-list v1.2.1

Weekly downloads
45
License
-
Repository
github
Last release
4 years ago

@Multi-view-list/vue

Demo Page

Dependency

  • Font-Awesome 5

UI

There are 2 view mode: row, card.

Install

npm install mv-list

Usage

// main.js

import 'mv-list/dist/multi-view-list.css'
import mvlist from 'mv-list'

Vue.use(mvlist)
// your-page.vue

<template>
  <mvList
    :config="listConfig"
    :data="listData"
    default-view="card"
    switch-view="true"
    @on-click="handleClick"
    @on-edit="handleEdit"
    @on-delete="handleDelete" />
</template>

<script>
export default {
  data () {
    return {
      listConfig: {
        // config
      },
      listData: [
        // source
      ]
    }
  }
}
</script>

List Props

PropertyTypeDescriptionDefaultR/O
configObjectUser custom configRequired
dataArraysource dataRequired
editableBooleanshow edit icontrue
deletableBooleanshow delete icontrue
switch-viewBooleanshow view switchertrue
default-viewStringdefine initial view mode'list'

List Item Events

Event will return item's source data and it's index from source data array.

Event NameDescriptionReturn Value
on-clickclick list itemObject, Number
on-editclick edit iconObject, Number
on-deleteclick delete iconObject, Number

Config

config: {  
    title: {  
        key: 'keyname', // refer to item data's key  
        align: 'left' // text-align: `left`, `center`,  `right`. default: left  
    },   
    image: 'keyname', // refer to item data's key  
    content: {  
        // if you set render function, ignore other attribute.  
        render: (params) => { // `params` is item data
          // do something   
          return `your result ${params.custom.attribute}` // need to be string or es6 template string   
        }  
    },  
    footer: [ // only footer use array. Name is the title for each value.   
        { name: 'Area', key: 'area' },  
        { name: 'Category',  
          render: (params) => params.category.join(', ')  
        }  
    ]  
}