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} { | ... | ... |