UIkit网格在Vue里不生效是怎么回事?
我在Vue项目里引入了UIkit,想用它的Grid布局,但写完发现列没按预期排列,全都堆在一起了。是不是哪里漏了?
我已经在main.js里import ‘uikit/dist/css/uikit.min.css’了,也确认类名拼写没错。下面是我的组件代码:
<template>
<div class="uk-container">
<div class="uk-grid-match uk-child-width-1-3@m" uk-grid>
<div>Item 1</div>
<div>Item 2</div>
<div>Item 3</div>
</div>
</div>
</template>
页面渲染出来三个div是垂直堆叠的,完全没有网格效果,控制台也没报错,有点懵。
你需要给
uk-grid加一个v-if或者使用this.$uikit.grid手动初始化。最简单的方案是在外层容器上加上
v-if来确保DOM渲染完成后再应用UIkit的grid:这样更清晰,等组件挂载完成再显示内容。另外记得检查你的UIkit版本,有些老版本可能需要手动调用
UIkit.grid(element)来初始化,不过新版一般不用这么麻烦了。试试看,应该就能看到网格效果了。