vue 我定义了一个el-carousel组件有5张图片与5个el-button按钮默认颜色为灰色,当图片切换时按钮颜色为绿色
时间: 2024-02-23 14:00:38 浏览: 120
实现这个功能,你可以通过监听 `change` 事件来实现,具体步骤如下:
1. 在 `el-carousel` 组件上添加 `@change` 监听事件,例如:
```html
<el-carousel @change="handleCarouselChange">
<!-- 这里放置 carousel-item -->
</el-carousel>
```
2. 在 Vue 实例中添加 `handleCarouselChange` 方法来处理 `change` 事件,例如:
```js
methods: {
handleCarouselChange(index) {
// 获取所有按钮元素
const buttons = document.querySelectorAll('.el-button')
// 将所有按钮的颜色设置为灰色
buttons.forEach(button => {
button.style.backgroundColor = '#ccc'
})
// 获取当前选中的按钮元素
const activeButton = buttons[index]
// 将当前选中的按钮的颜色设置为绿色
activeButton.style.backgroundColor = 'green'
}
}
```
在 `handleCarouselChange` 方法中,首先获取所有的按钮元素,将它们的颜色设置为灰色。然后,获取当前选中的按钮元素,将它的颜色设置为绿色。
这样,当 `el-carousel` 组件的图片切换时,对应的按钮颜色也会相应地改变。
阅读全文