vxe-table 将搜索到数据滚滑轮到界面可视范围里
时间: 2023-11-07 07:31:43 浏览: 218
您可以使用 `scrollToRow` 方法和 `highlightCurrentRow` 属性来实现在搜索结果中滚动到当前行并突出显示。
首先,在 `vxe-table` 中,将 `highlightCurrentRow` 属性设置为 `true`,以便高亮显示当前行:
```html
<vxe-table
:data="tableData"
:columns="columns"
highlight-current-row
/>
```
接下来,使用 `scrollToRow` 方法将当前行滚动到可视范围内。在搜索方法中,获取当前行的索引,然后使用 `scrollToRow` 方法将其滚动到可视范围内:
```javascript
methods: {
onSearch() {
this.$refs.table.clearScroll()
this.$refs.table.scrollTo(0, 0)
this.$refs.table.search(this.searchText)
const highlightRow = this.$refs.table.getHighlightRow()
if (highlightRow) {
const index = this.tableData.indexOf(highlightRow)
this.$refs.table.scrollToRow(index).then(() => {
this.$refs.table.setHighlightRow(index)
})
}
}
}
```
在上面的示例中,`getHighlightRow` 方法可以获取当前高亮显示的行,`indexOf` 方法可以获取当前行在搜索结果中的索引。然后,使用 `scrollToRow` 方法将其滚动到可视范围内,并使用 `setHighlightRow` 方法设置当前行为高亮显示。
注意:在使用 `scrollToRow` 方法时,需要等待滚动操作完成后再设置当前行为高亮显示。因此,在 `scrollToRow` 方法中使用了 `then` 方法来等待滚动完成。
阅读全文