iview 锚点爬坑
1、看了api,按照其说的做了,发现不能定位,于是网上查资料,有人说是因为iview 引入vue-router 后锚点就失效了,推荐这样写document.getElementById('id').scrollIntoView();这样确实可以实现锚点定位,但是不符合我的需求,于是新建项目不加入vue-router ,测试,发现iview 锚点居然就可以定位,但是不死心,又加了v...
·
1、看了api,按照其说的做了,发现不能定位,于是网上查资料,有人说是因为iview 引入vue-router 后锚点就失效了,推荐
这样写
document.getElementById('id').scrollIntoView();
这样确实可以实现锚点定位,但是不符合我的需求,于是新建项目不加入vue-router ,测试,发现iview 锚点居然就可以定位,但是不死心,又加了vue-router再次测试,发现锚点定位居然还可以用。仔细对比了项目和新建的项目,发现我新建的项目锚点是打在了div 上,而工作项目中锚点在Card上,于是在Card外层放了了一个空div,用来打锚点,测试发现锚点可以用了。
结论:vue-router 不影响iview锚点定位,但是锚点必须是打在div上
附代码:
<Anchor show-ink>
<AnchorLink v-for="(filterObject, index) in filterObjects" :href="'#'+filterObject.name" :title="filterObject.name" :key="index"/>
</Anchor>
</Affix>
<div v-for="(filterObject, index) in filterObjects" :key="index">
<div :id="filterObject.name"></div> //空的div,打锚点用
<Card class="card">
<p slot="title">{{ filterObject.comment }}</p>
<Table :loading="loading" stripe :columns="columns" :data="filterObject.children" size="small"></Table>
</Card>
</div>
更多推荐
已为社区贡献1条内容
所有评论(0)