Vaadin 为什么我的 setvisible 不工作?始终显示设计
Vaadin Why is my setvisible not working? Design is always shown
我正在与 Designer 一起开发 Maven、Vaadin,我无法解决为什么我的代码仍然显示 "test" 和 "test2" 因为通过 testView2.setVisible(false) "test2" 标签应该被隐藏。这是所有相关代码。希望有人能帮忙。
TestView.java
@Tag("test-view")
@HtmlImport("src/views/kunde/test-view.html")
@Route("test")
public class TestView extends PolymerTemplate<TestView.TestViewModel> {
@Id("testView2")
private TestView2 testView2;
public TestView() {
testView2.setVisible(false);
}
public interface TestViewModel extends TemplateModel {
}
}
测试-view.html
<dom-module id="test-view"> <template>
<style include="shared-styles">
:host {
display: block;
}
</style>
<div>
<label>Label</label>
</div>
<test-view-2 id="testView2"></test-view-2>
</template> <script>
class TestView extends Polymer.Element {
static get is() {
return 'test-view';
}
static get properties() {
return {
// Declare your properties here.
};
}
}
customElements.define(TestView.is, TestView);
</script> </dom-module>
测试视图-2.html
<dom-module id="test-view-2">
<template>
<style include="shared-styles">
:host {
display: block;
}
</style>
<div>
<label>test2</label>
</div>
</template>
<script>
class TestView2 extends Polymer.Element {
static get is() {
return 'test-view-2';
}
static get properties() {
return {
// Declare your properties here.
};
}
}
customElements.define(TestView2.is, TestView2);
</script>
</dom-module>
原因很可能是因为 Flow 在使用 setVisible(false)
时使用了 hidden
HTML 属性。但是因为 Designer 默认将 :host { display: block; }
添加到设计中,并且 https://meowni.ca/hidden.is.a.lie.html,设计将不遵循 hidden
属性。
您可以通过在设计中手动添加以下样式来解决此问题:
:host([hidden]) {
display: none !important;
}
我正在与 Designer 一起开发 Maven、Vaadin,我无法解决为什么我的代码仍然显示 "test" 和 "test2" 因为通过 testView2.setVisible(false) "test2" 标签应该被隐藏。这是所有相关代码。希望有人能帮忙。
TestView.java
@Tag("test-view")
@HtmlImport("src/views/kunde/test-view.html")
@Route("test")
public class TestView extends PolymerTemplate<TestView.TestViewModel> {
@Id("testView2")
private TestView2 testView2;
public TestView() {
testView2.setVisible(false);
}
public interface TestViewModel extends TemplateModel {
}
}
测试-view.html
<dom-module id="test-view"> <template>
<style include="shared-styles">
:host {
display: block;
}
</style>
<div>
<label>Label</label>
</div>
<test-view-2 id="testView2"></test-view-2>
</template> <script>
class TestView extends Polymer.Element {
static get is() {
return 'test-view';
}
static get properties() {
return {
// Declare your properties here.
};
}
}
customElements.define(TestView.is, TestView);
</script> </dom-module>
测试视图-2.html
<dom-module id="test-view-2">
<template>
<style include="shared-styles">
:host {
display: block;
}
</style>
<div>
<label>test2</label>
</div>
</template>
<script>
class TestView2 extends Polymer.Element {
static get is() {
return 'test-view-2';
}
static get properties() {
return {
// Declare your properties here.
};
}
}
customElements.define(TestView2.is, TestView2);
</script>
</dom-module>
原因很可能是因为 Flow 在使用 setVisible(false)
时使用了 hidden
HTML 属性。但是因为 Designer 默认将 :host { display: block; }
添加到设计中,并且 https://meowni.ca/hidden.is.a.lie.html,设计将不遵循 hidden
属性。
您可以通过在设计中手动添加以下样式来解决此问题:
:host([hidden]) {
display: none !important;
}