In einem Polymer Kontrolle, 'mein-grid', ich versuche Stil über den folgenden Code hinzufügen:Polymer Stil verleihen dynamisch
var styleElement = document.createElement('style', 'custom-style');
styleElement.innerHTML = cssText;
Polymer.StyleDefaults.addStyle(styleElement);
Hier kann der cssText sein String wie
.oc-col-id-0{
flex-basis: var(--oc-col-id-0-flex-basis);
-webkit-flex-basis: var(--oc-col-id-0-flex-basis);
}
.oc-col-id-1{
flex-basis: var(--oc-col-id-1-flex-basis);
-webkit-flex-basis: var(--oc-col-id-1-flex-basis);
}
Ohne diese benutzerdefinierten Variablen, kann ich die styleElement von
this.$.gridContainer.appendChild(styleElement);
Aber wie auch immer anhängen, da benutzerdefinierte Variablen gibt es, ich bin nicht sicher, wie sie zu beheben dieses Problem.
Nachdem das Element angebracht ist, kann ich nicht den -OC-col-id-0-flex-Basis-Wert über
this.customStyle['--oc-col-id-0-flex-basis'] = maxWidth + "px";
this.updateStyles();
ändere Es sieht aus, dass der Stil Variablen für das Element nicht angewandt werden .
Ich bin nicht sicher, ob es eine Möglichkeit gibt, den Stil des Elements dynamisch hinzuzufügen/zu ändern. Ich bin mir nicht sicher, ob ich auf dem richtigen Weg bin.
Was ist das Problem? –
Ich habe den Beitrag aktualisiert. – Emma
Haben Sie Ihre benutzerdefinierte Variable mit einem gewissen Wert initialisiert? Wenn nicht, kann dies nach einmaliger Initialisierung versuchen – a1626