如何在Vue中滚动到特定的数据值?

时间:2017-08-01 13:10:06

标签: javascript jquery scroll vue.js vuejs2

我在Vue中有简单的表格:

<tbody>
    <tr v-for="(item, index) in items">
        <td>
            ...
        </td>       
    </tr>
</tbody>

items通过unshift动态添加。主要的是我需要通过updown键来浏览表格,所以我这样做:

jQuery(document).keydown((e) => {
    const which = e.which;

    if ([38, 40].indexOf(which) != -1) {
        e.preventDefault();

        if (this.active_index == null) {
            this.active_index = 0;
        } else {
            if (e.which == 38) {
                // up
                this.active_index--;
            } else {
                // down
                this.active_index++;
            }
        }

        console.log(this.items[this.active_index])
    }
});

是否有可能让this.items[this.active_index]元素或其位置滚动到它。

1 个答案:

答案 0 :(得分:1)

<tbody>
   <tr v-for="(item, index) in items" ref="'dom'+index">
       <td>
           ...
       </td>       
   </tr>

绑定refdata,当您需要获取dom时,您可以使用this.$refs[dom${this.active_index}]