2017-09-12 4 views
0

J'essaie d'obtenir la valeur d'une entrée vaadin-combo-box, mais elle renvoie [object Object]. Je ne peux pas trouver comment obtenir la valeur réelle de l'entrée, et mon formulaire contiendra environ trois. S'il vous plaît dites-moi ce que je fais mal en lisant la valeur de vaading-combo-box.Polymère, boîte vaadin-combo; Obtenir la valeur de l'entrée

Voici mon code:

<link rel="import" href="../bower_components/polymer/polymer-element.html"> 
<link rel="import" href="../bower_components/paper-input/paper-input.html"> 
<link rel="import" href="../bower_components/paper-button/paper-button.html"> 
<link rel="import" href="../bower_components/iron-form/iron-form.html"> 
<link rel="import" href="../bower_components/iron-ajax/iron-ajax.html"> 

<link rel="import" href="../bower_components/vaadin-combo-box/vaadin-combo-box.html"> 



<link rel="import" href="shared-styles.html"> 

<dom-module id="my-view2"> 
    <template> 
    <style include="shared-styles"> 
     :host { 
     display: block; 
     padding: 10px; 
     } 
    </style> 

    <div class="card"> 
<iron-ajax 
    id="ajax" 
    url="http://localhost/data.php" 
    params='' 
    handle-as="text" 
    on-response="hresponse" 
    debounce-duration="300"></iron-ajax> 

<paper-input label="Name" id="thename" name="thename"></paper-input> 
<iron-ajax url="https://api.myjson.com/bins/1b0f7h" last-response="{{response}}" auto></iron-ajax> 
    <vaadin-combo-box name="fromm" id="fromm" items="[[response]]" item-value-path="fromm" label="fromm" item-label-path="countryName"> 
     <template> 
      <paper-item-body two-line> 
      <div>[[item.countryName]]</div> 
      </paper-item-body> 
     </template> 
    </vaadin-combo-box> 

<button on-click="setajax">Click me</button> 


    </div> 
    </template> 


    <script> 
     Polymer({ 
      is: "my-view2", 
      setajax: function() { 
      alert(this.$.thename.value); 

     // alert(this.$.fromm.value); not working - returns Object object 



      // this.$.ajax.params = {thename:this.$.thename.value, fromm:this.$.fromm.value}; 
      // this.$.ajax.generateRequest(); 
      }, 
      hresponse: function(request) { 
       console.log(request.detail.response); 
       console.log(this.$.ajax.lastResponse); 
      } 
     }); 
    </script> 
</dom-module> 

Je peux alerter la valeur de nom avec alert(this.$.thename.value), mais quand je suis en train de faire la même chose à la valeur de alert(this.$.fromm.value) il retourne toujours [object Object].

Répondre

2

Votre item-value-path="fromm" dans vaadin-combo-box fait référence à la zone de liste modifiable dont la valeur est response objet. C'est pourquoi il vous montre [object Object].

Modifiez la valeur de item-value-path à ce que vous voulez afficher.

Par exemple, si votre objet est comme

response:[{name:"stackoverflow", countryName:"Australia"}]

mis item-value-path="countryName" si vous souhaitez afficher la valeur de countryName.

+0

Ceci est correct! Merci beaucoup! – unkn0wnx