【发布时间】:2019-03-09 15:44:54
【问题描述】:
我正在使用 Vue js 和 vue-grid-layout。 我想创建一个带有一些小部件的仪表板。
css 正在与布局对象中已经存在的其他网格一起使用。 所以,我可以添加一个带有按钮的网格,但是 css 不适用于新的网格。
有一个名为 addGrid() 的带有点击动作的按钮,它将在布局对象的末尾添加一个新行。
在此先感谢,希望每个人都能理解我的帖子。
<grid-layout
:layout="layout"
:col-num="10"
:row-height="10"
:is-draggable="true"
:is-resizable="true"
:is-mirrored="false"
:vertical-compact="false"
:margin="[10, 10]"
:use-css-transforms="false">
<grid-item v-for="item in layout"
:x="item.x"
:y="item.y"
:w="item.w"
:h="item.h"
:i="item.i">
<span class="text">{{item.i}}</span>
</grid-item>
</grid-layout>
import VueGridLayout from "vue-grid-layout";
export default {
name: "Home",
data() {
return {
layout: [
{ x: 0, y: 0, w: 2, h: 2, i: "0" },
{ x: 2, y: 0, w: 2, h: 4, i: "1" },
{ x: 4, y: 0, w: 2, h: 5, i: "2" },
],
};
},
methods: {
addGrid() {
this.layout.push({x:0, y:-1, w:2, h:5, i:parseInt(this.layout[this.layout.length - 1].i, 10) + 1});
}
}
};
这里有一个 css 研磨的例子
.vue-grid-item:not(.vue-grid-placeholder) {
background: #4caf50;
opacity: 0.7;
border: 1px solid black;
}
【问题讨论】:
-
欢迎来到 StackOverflow!请尝试创建一个 MCVE(请参阅 minimal reproducible example),以便其他用户可以更快地帮助您,并且不需要阅读许多不必要的代码行:)
-
@Hille 这样更好吗?感谢您的帮助!
-
是的,它更具可读性和更容易理解。你的努力得到了支持。与第一次尝试相比,这将吸引更多可以帮助您的用户。
-
好吧,我找到了解决方案。首先删除
-
哦,对了,我的错...我没有看到“添加答案”按钮,仍然感谢您的帮助!
标签: javascript css vue.js grid-layout vuetify.js