vue-seamless-scroll和el-table点击按钮失效
时间: 2023-12-13 08:34:19 浏览: 147
根据提供的引用内容,我们可以得知问题分为两部分:vue-seamless-scroll滚动失效和el-table点击按钮失效。下面分别进行回答:
1. vue-seamless-scroll滚动失效
在使用vue-seamless-scroll时,如果获取后台数据后滚动失效,可以尝试在获取数据后手动调用一次scrollTo方法,将滚动条滚动到指定位置。另外,如果需要在一次滚动完成后触发回调事件,可以使用vue-seamless-scroll提供的done事件。
2. el-table点击按钮失效
在使用el-table时,如果点击按钮失效,可能是因为按钮被覆盖了,可以尝试将按钮的z-index设置为更高的值。另外,如果按钮是动态生成的,需要在生成后重新绑定点击事件。
下面是代码示例:
1. vue-seamless-scroll滚动失效
```vue
<template>
<div>
<vue-seamless-scroll :list="list" :speed="speed" :step="step" @done="handleDone">
<div v-for="(item, index) in list" :key="index">{{ item }}</div>
</vue-seamless-scroll>
</div>
</template>
<script>
import VueSeamlessScroll from 'vue-seamless-scroll'
export default {
components: {
VueSeamlessScroll
},
data() {
return {
list: [],
speed: 30,
step: 1
}
},
mounted() {
// 获取数据
this.getData()
},
methods: {
getData() {
// 获取数据后手动调用scrollTo方法
this.$nextTick(() => {
this.$refs.scroll.scrollTo(0, 0)
})
// 获取数据
// ...
},
handleDone() {
// 一次滚动完成后触发回调事件
console.log('done')
}
}
}
</script>
```
2. el-table点击按钮失效
```vue
<template>
<div>
<el-table :data="tableData">
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="age" label="年龄"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
tableData: []
}
},
mounted() {
// 获取数据
this.getData()
},
methods: {
getData() {
// 获取数据
// ...
// 生成按钮后重新绑定点击事件
this.$nextTick(() => {
const buttons = document.querySelectorAll('.el-button')
buttons.forEach(button => {
button.addEventListener('click', this.handleClick)
})
})
},
handleClick(row) {
console.log(row)
}
}
}
</script>
```
阅读全文