support dynamic pageSizes

pull/1380/head
baiyaaaaa 2016-11-26 14:34:25 +08:00 committed by 杨奕
parent ba983ffb96
commit 64f1caea38
1 changed files with 16 additions and 7 deletions

View File

@ -54,7 +54,7 @@ export default {
jumper: <jumper></jumper>, jumper: <jumper></jumper>,
pager: <pager currentPage={ this.internalCurrentPage } pageCount={ this.internalPageCount } on-change={ this.handleCurrentChange }></pager>, pager: <pager currentPage={ this.internalCurrentPage } pageCount={ this.internalPageCount } on-change={ this.handleCurrentChange }></pager>,
next: <next></next>, next: <next></next>,
sizes: <sizes></sizes>, sizes: <sizes pageSizes={ this.pageSizes }></sizes>,
slot: <slot></slot>, slot: <slot></slot>,
total: <total></total> total: <total></total>
}; };
@ -119,11 +119,20 @@ export default {
Sizes: { Sizes: {
mixins: [Locale], mixins: [Locale],
created() { props: {
if (Array.isArray(this.$parent.pageSizes)) { pageSizes: Array
this.$parent.internalPageSize = this.$parent.pageSizes.indexOf(this.$parent.pageSize) > -1 },
watch: {
pageSizes: {
immediate: true,
handler(value) {
if (Array.isArray(value)) {
this.$parent.internalPageSize = value.indexOf(this.$parent.pageSize) > -1
? this.$parent.pageSize ? this.$parent.pageSize
: this.$parent.pageSizes[0]; : this.pageSizes[0];
}
}
} }
}, },
@ -136,7 +145,7 @@ export default {
on-change={ this.handleChange } on-change={ this.handleChange }
width={ 110 }> width={ 110 }>
{ {
this.$parent.pageSizes.map(item => this.pageSizes.map(item =>
<el-option <el-option
value={ item } value={ item }
label={ item + ' ' + this.t('el.pagination.pagesize') }> label={ item + ' ' + this.t('el.pagination.pagesize') }>