2016-06-26 11 views
1

In html paper-tooltip wieSet Papier-Tooltip von dart

<div> 
    Text 
    <paper-tooltip>The tooltip</paper-tooltip> 
</div> 

Aber Howto bauen eine paper-tooltip aus dart gut funktioniert?

DivElement divText = new DivElement(); 
divText.text = 'Text from dart'; 

PaperTooltip pT = document.createElement('paper-tooltip'); 
//How to set the tooltip String "The tooltip" on pT? 

divText.append(pT); 

Ich habe versucht, den zugrunde liegenden Inhalt paper-tool zu setzen, aber nicht gelingt. Jeder mit einem Tipp, wie das vielleicht gemacht werden könnte?

+0

Was ist 'pT.text = "Der Tooltip"'? –

+0

Danke. Wenn ich mit 'pT.text =" Der Tooltipp "' einstelle, scheint ein Teil des 'paper-tooltip'-Elements zu zerstören und das Element wird als div-ähnliches Element angezeigt. –

+0

Mit einem html erstellten 'Papier-Werkzeug' kann der Inhalt mit (zugrundeliegendem Inhalt) verändert werden.' DivElement eToolDiv = pT. $ ['Tooltip']; eToolDiv.text = 'from dart'; 'Das Problem scheint also Erstellung oder Anhängen zu sein. –

Antwort

1

Nicht sicher, was hier vor sich geht. Scheint wie die Kreation von Dart mit document.createElement('paper-tooltip'); geben Sie kein richtiges paper-tooltip Element.

Eine gute Problemumgehung gefunden, indem das paper-tooltip mit einem benutzerdefinierten Element umschlossen wurde. Das benutzerdefinierte Element kann dann mit document.createElement('papertooltip-wrap');

Html

<dom-module id="papertooltip-wrap"> 
    <template> 
    <paper-tooltip>[[tooltipText]]</paper-tooltip> 
    </template> 
</dom-module> 

Dart erstellt

@PolymerRegister('papertooltip-wrap') 
class PapertooltipWrap extends PolymerElement { 

    @property 
    String tooltipText; 

    PapertooltipWrap.created() : super.created(){ 
    } 

    void setAnchorElement(Element e, final String tipText){ 
    set('tooltipText', tipText); 
    append(e); 
    } 
} 
+1

Soweit ich mich erinnere, haben alle Polymerelemente einen Fabrikbauer. Sie sollten nur 'new PaperTooltip()' in der Lage sein. –

+0

Großartig, ich wusste nicht, das gibt mehr klaren Code. Vielen Dank. –