2222 :class =" { 'offset-sm-6': !tableFilter }"
2323 >
2424 <div class =" form-inline justify-content-sm-end" >
25- <label class =" mr-2" >Items per page: </label >
25+ <label class =" mr-2" >{{paginationSelect.label}} </label >
2626 <select
2727 class =" form-control"
2828 @change =" paginationChange"
3131 {{perPageItems}}
3232 </option >
3333 <option
34- v-for =" (number, key) in [5,10,20,50] "
34+ v-for =" (number, key) in paginationSelect.values "
3535 :val =" number"
3636 :key =" key"
3737 >
4747 <div :class =" `position-relative ${responsive ? 'table-responsive' : '' }`" >
4848 <table :class =" tableClasses" >
4949 <thead >
50- <tr >
50+ <tr v-if = " header " >
5151 <template v-for =" (name , index ) in columnNames " >
5252 <th
5353 @click =" changeSort(rawColumnNames[index], index)"
@@ -245,7 +245,7 @@ export default {
245245 hover: Boolean ,
246246 border: Boolean ,
247247 outlined: Boolean ,
248- itemsPerPageSelect: Boolean ,
248+ itemsPerPageSelect: [ Boolean , Object ] ,
249249 sorter: [Boolean , Object ],
250250 tableFilter: [Boolean , Object ],
251251 columnFilter: [Boolean , Object ],
@@ -255,6 +255,10 @@ export default {
255255 },
256256 tableFilterValue: String ,
257257 columnFilterValue: Object ,
258+ header: {
259+ type: Boolean ,
260+ default: true
261+ },
258262 footer: Boolean ,
259263 loading: Boolean ,
260264 clickableRows: Boolean
@@ -412,6 +416,12 @@ export default {
412416 label: this .tableFilter .label || ' Filter:' ,
413417 placeholder: this .tableFilter .placeholder || ' type string...'
414418 }
419+ },
420+ paginationSelect () {
421+ return {
422+ label: this .itemsPerPageSelect .label || ' Items per page:' ,
423+ values: this .itemsPerPageSelect .values || [5 , 10 , 20 , 50 ]
424+ }
415425 }
416426 },
417427 methods: {
0 commit comments