删除从Vaadin Page

时间:2017-08-11 18:59:14

标签: javascript java html css vaadin

在Vaadin Page中有没有办法删除动态添加的样式? 我有一个css开关,它是用组合框实现的,因此用户可以选择特定的样式。当样式改变时,我使用以下方法添加新样式:

getPage().getStyles().add("some css");

但是,当用户再次更改样式时,它会添加另一个“样式”元素。我找不到删除旧“样式”节点的方法。类:

public static class Styles implements Serializable

来自包裹:

package com.vaadin.server;

没有提供任何方法来做到这一点。有没有解决方案?

修改

我能够通过解决方法解决这个问题。将样式更改为新样式后(添加了新的“样式”标记)我将使用javascript删除旧样式:

getPage().getJavaScript().execute(REMOVE_OLD_STYLE_SCRIPT);

此脚本始终删除索引为[1]的“style”标记(index [0]从css文件添加了样式,我不想删除它。)

if (document.getElementsByTagName('style').length > 2) {
    document.getElementsByTagName('style')[1].remove()
}

说实话 - 它有效,但我不喜欢这个解决方案。正如我所说 - 这是一个workaroud,在我看来应该有这样的功能,使用Vaadin类删除一些动态样式。

0 个答案:

没有答案