Commit ac50d539aa9ad7c4ebf6ef7f77dfa514b8ddc24d
1 parent
1a4a76e9
Page add prev-text and next-text prop
Showing
3 changed files
with
20 additions
and
5 deletions
Show diff stats
examples/routers/page.vue
| 1 | 1 | <template> |
| 2 | 2 | <div> |
| 3 | - <Page :total="total" show-sizer show-elevator show-total transfer :current.sync="current"></Page> | |
| 3 | + <Page prev-text="上一页" next-text="下一页" :total="total" show-sizer show-elevator show-total transfer :current.sync="current"></Page> | |
| 4 | 4 | {{ current }} |
| 5 | 5 | <Button type="primary" @click="subject">- 1</Button> |
| 6 | 6 | <Button type="primary" @click="change">Change</Button> | ... | ... |
src/components/page/page.vue
| ... | ... | @@ -33,7 +33,7 @@ |
| 33 | 33 | :title="t('i.page.prev')" |
| 34 | 34 | :class="prevClasses" |
| 35 | 35 | @click="prev"> |
| 36 | - <a><i class="ivu-icon ivu-icon-ios-arrow-left"></i></a> | |
| 36 | + <a><template v-if="prevText !== ''">{{ prevText }}</template><i v-else class="ivu-icon ivu-icon-ios-arrow-left"></i></a> | |
| 37 | 37 | </li> |
| 38 | 38 | <li title="1" :class="firstPageClasses" @click="changePage(1)"><a>1</a></li> |
| 39 | 39 | <li :title="t('i.page.prev5')" v-if="currentPage - 3 > 1" :class="[prefixCls + '-item-jump-prev']" @click="fastPrev"><a><i class="ivu-icon ivu-icon-ios-arrow-left"></i></a></li> |
| ... | ... | @@ -48,7 +48,7 @@ |
| 48 | 48 | :title="t('i.page.next')" |
| 49 | 49 | :class="nextClasses" |
| 50 | 50 | @click="next"> |
| 51 | - <a><i class="ivu-icon ivu-icon-ios-arrow-right"></i></a> | |
| 51 | + <a><template v-if="nextText !== ''">{{ nextText }}</template><i v-else class="ivu-icon ivu-icon-ios-arrow-right"></i></a> | |
| 52 | 52 | </li> |
| 53 | 53 | <Options |
| 54 | 54 | :show-sizer="showSizer" |
| ... | ... | @@ -132,6 +132,14 @@ |
| 132 | 132 | }, |
| 133 | 133 | styles: { |
| 134 | 134 | type: Object |
| 135 | + }, | |
| 136 | + prevText: { | |
| 137 | + type: String, | |
| 138 | + default: '' | |
| 139 | + }, | |
| 140 | + nextText: { | |
| 141 | + type: String, | |
| 142 | + default: '' | |
| 135 | 143 | } |
| 136 | 144 | }, |
| 137 | 145 | data () { |
| ... | ... | @@ -188,7 +196,8 @@ |
| 188 | 196 | return [ |
| 189 | 197 | `${prefixCls}-prev`, |
| 190 | 198 | { |
| 191 | - [`${prefixCls}-disabled`]: this.currentPage === 1 | |
| 199 | + [`${prefixCls}-disabled`]: this.currentPage === 1, | |
| 200 | + [`${prefixCls}-custom-text`]: this.prevText !== '' | |
| 192 | 201 | } |
| 193 | 202 | ]; |
| 194 | 203 | }, |
| ... | ... | @@ -196,7 +205,8 @@ |
| 196 | 205 | return [ |
| 197 | 206 | `${prefixCls}-next`, |
| 198 | 207 | { |
| 199 | - [`${prefixCls}-disabled`]: this.currentPage === this.allPages | |
| 208 | + [`${prefixCls}-disabled`]: this.currentPage === this.allPages, | |
| 209 | + [`${prefixCls}-custom-text`]: this.nextText !== '' | |
| 200 | 210 | } |
| 201 | 211 | ]; |
| 202 | 212 | }, | ... | ... |
src/styles/components/page.less
| ... | ... | @@ -103,6 +103,7 @@ |
| 103 | 103 | &-item-jump-next { |
| 104 | 104 | display: inline-block; |
| 105 | 105 | vertical-align: middle; |
| 106 | + user-select: none; | |
| 106 | 107 | //float: left; |
| 107 | 108 | min-width: @btn-circle-size; |
| 108 | 109 | height: @btn-circle-size; |
| ... | ... | @@ -224,6 +225,10 @@ |
| 224 | 225 | padding: 0 8px 0 2px; |
| 225 | 226 | } |
| 226 | 227 | } |
| 228 | + | |
| 229 | + &-custom-text, &-custom-text:hover{ | |
| 230 | + border-color: transparent; | |
| 231 | + } | |
| 227 | 232 | } |
| 228 | 233 | |
| 229 | 234 | .@{page-prefix-cls} { | ... | ... |