|
1 | 1 | <template>
|
2 | 2 | <div class="veui-carousel" :ui="ui">
|
3 | 3 | <div class="veui-carousel-viewport" @mouseenter="handleEnter" @mouseleave="handleLeave">
|
4 |
| - <transition-group name="veui-carousel-item" class="veui-carousel-items" tag="ol"> |
5 |
| - <li v-for="(item, i) in datasource" v-show="localIndex === i" :key="i" |
6 |
| - :class="{ |
7 |
| - 'veui-carousel-item': true, |
8 |
| - 'veui-carousel-item-current': localIndex === i |
9 |
| - }" |
10 |
| - :style="{ |
11 |
| - 'background-image': `url(${item.src})` |
12 |
| - }"> |
13 |
| - <slot v-bind="item" :index="i"> |
14 |
| - <img class="veui-sr-only" :src="item.src" :alt="item.alt"> |
15 |
| - </slot> |
16 |
| - </li> |
17 |
| - </transition-group> |
18 |
| - <div v-if="indicator === 'number'" class="veui-carousel-indicator-numbers">{{ localIndex + 1 }}<span class="veui-carousel-indicator-numbers-separator"></span>{{ count }}</div> |
| 4 | + <transition-group name="veui-carousel-item" class="veui-carousel-items" tag="ol"> |
| 5 | + <li |
| 6 | + v-for="(item, i) in datasource" |
| 7 | + v-show="localIndex === i" |
| 8 | + ref="item" |
| 9 | + :key="i" |
| 10 | + :class="{ |
| 11 | + 'veui-carousel-item': true, |
| 12 | + 'veui-carousel-item-current': localIndex === i |
| 13 | + }" |
| 14 | + :style="{ |
| 15 | + 'background-image': `url(${item.src})` |
| 16 | + }" |
| 17 | + tabindex="0"> |
| 18 | + <slot v-bind="item" :index="i"> |
| 19 | + <img class="veui-sr-only" :src="item.src" :alt="item.alt"> |
| 20 | + </slot> |
| 21 | + </li> |
| 22 | + </transition-group> |
| 23 | + <div v-if="indicator === 'number'" class="veui-carousel-indicator-numbers">{{ localIndex + 1 }}<span class="veui-carousel-indicator-numbers-separator"></span>{{ count }}</div> |
19 | 24 | <nav v-else-if="indicator !== 'none'" :class="{
|
20 | 25 | [`veui-carousel-indicator-${indicator}s`]: true
|
21 | 26 | }">
|
@@ -125,6 +130,12 @@ export default {
|
125 | 130 | return
|
126 | 131 | }
|
127 | 132 |
|
| 133 | + if (event === 'click') { |
| 134 | + setTimeout(() => { |
| 135 | + this.$refs.item[this.localIndex].focus() |
| 136 | + }, 0) |
| 137 | + } |
| 138 | +
|
128 | 139 | this.localIndex = index
|
129 | 140 | },
|
130 | 141 | initPlay () {
|
|
0 commit comments