在我的聚合物项目中,我在两个页面中使用了 vaadin-combobox,如下所示: - page1:我创建了一个自定义组合框样式文件并导入到我的页面:
<link rel="import" href="../elements/base/vaadin-text-field-custom-radius-theme.html">
该文件的内容:
<dom-module id="vaadin-text-field-custom-radius-theme" theme-for="vaadin-text-field">
<template>
<style>
[part="input-field"] {
border-radius: 2px;
background-color: white;
border: 1px solid #808080;
height: 100%;
font-family: "Roboto", sans-serif !important;
color: #4c4c4c !important;
padding-left: 10px;
font-size: 14px;
box-sizing: border-box;
max-height: 100%;
background-color: transparent;
background-image: none !important;
}
[part="value"] {
border: 0px !important;
box-shadow: none !important;
height: 100%;
box-sizing: border-box;
max-height: 100%;
background-color: transparent;
text-align: var(--cmb-align,left);
}
.vaadin-text-field {
height: 100%;
box-sizing: border-box;
max-height: 100%;
}
.vaadin-text-field-container {
height: 100%;
box-sizing: border-box;
max-height: 100%;
}
@media(max-width:1024px){
[part="input-field"] {
font-size: 12px !important;
padding-left: 5px;
}
[part="value"] {
font-size: 12px !important;
}
}
</style>
</template>
在 page2 中,我有另一个带有其他一些 css 属性的自定义样式文件。
我用
this.set('route.path',"/page2")
从 page1 重定向到 page2 然后使用
this.set('route.path',"/page1")
在 page2 中返回 page1。此时我在 page1 中的组合框由我已导入到第 2 页的自定义文件中定义的 css 设置样式(虽然我希望它仍然由 vaadin-text-field-custom-radius-theme.html 中的 css 设置样式)。可以一些一个告诉我为什么?
p/s:我尝试执行 Anton Platonov 的建议,但我发现如果我的第 2 页不导入任何自定义样式文件,当我从第 2 页返回第 1 页时,在中定义的 vaadin-text-field 的默认样式..\bower_components\vaadin-text-field\vaadin-text-field.html 用于我的组合框,而不是我的 vaadin-text-field-custom-radius-theme.html。
如果我删除 vaadin-text-field.html 中的默认样式,我的组合框会从浏览器的默认样式中修改 css,但仍然不是我的 vaadin-text-field-custom-radius-theme.html。它被视为我的 vaadin-text-field-custom-radius-theme 不再存在。
如果我刷新我的第 1 页,一切都会变得正常。这是我的组合框代码:
<vaadin-combo-box-light style="width:100%;height:30px" id="cmdCompanyName" class="fix-size combobox" label="" allow-custom-value items='[[companies]]'
value="" item-label-path="name" item-value-path="id" attr-for-selected="id" on-keyup="searchData"
on-custom-value-set="searchData2" on-value-changed="searchData2">
<vaadin-text-field style="width:100%;height:30px;" class="cmb-text-field" maxlength="150">
<iron-icon class="prefix" icon="icons:search" slot="prefix"></iron-icon>
<iron-icon class="suffix toggle-button" slot="suffix" icon="icons:expand-more"></iron-icon>
</vaadin-text-field>
</vaadin-combo-box-light>