【发布时间】:2020-09-05 02:21:37
【问题描述】:
我已经在自定义 css 中尝试了下面的代码,但没有成功
.v-treeview-node__root {
max-height: 30px;
}
有什么建议吗?
【问题讨论】:
标签: vue.js vuetify.js
我已经在自定义 css 中尝试了下面的代码,但没有成功
.v-treeview-node__root {
max-height: 30px;
}
有什么建议吗?
【问题讨论】:
标签: vue.js vuetify.js
我相信没有一种简单的方法来设置整个节点的样式(请参阅 Github 上的 issue)但是您可以在节点的标签上添加样式通过使用the label slot of <v-treeview>。
类似这样的:
<v-treeview :items="items" dense>
<!-- use the `label` slot of `v-treeview` -->
<template v-slot:label="{ item }">
<div class="treeview-item">{{ item.name }}</div>
</template>
</v-treeview>
.treeview-item {
max-height: 30px;
}
这是codesandbox.的工作演示
【讨论】:
dense 属性添加到您的树视图中。
试试这个:
在您的 data 中,您创建一个对象,其中包含您想要的 HTML 或 Vuetify 组件样式,然后像正常编写一样编写 CSS。
注意:使用“,”而不是“;”在每个 CSS 属性之后
注2:使用驼峰式大小写代替连字符。例如:使用borderTop代替border-top
export default {
name: 'myComponent',
data(): {
return {
styles: {
maxHeight: 30px
}
}
}
然后在 v-treeview 代码中添加:
<v-treeview :style="styles"></v-treeview>
【讨论】:
我认为最简洁的方法是使用 SASS 变量,如 official docs 中所述。您只需创建一个名为 variables.scss 的文件并将下一行放入其中:
$treeview-node-height: 30px;
然后应用一些魔法,v-treeview 中的节点高度为 30px。 当然应该安装vue-cli-plugin-vuetify。
【讨论】:
如此接近。 min-height 阻止了你。
.v-treeview-node__root {
min-height: 0px;
max-height: 25px;
padding: 0px;
margin: 0px;
}
【讨论】: