2017-01-11 11 views
0
紙・ドロップダウン・メニュー項目が動的にそのラベルは、 は更新されませんが、その選択した値がラベルに表示されていない、変更されて追加され

紙のドロップダウン・メニューのラベルが更新されない動的

それはPLUNKERに示されています:https://plnkr.co/edit/jy7WxttkB1mN7z0uHuVJ?p=preview

<paper-dropdown-menu label="Patient"> 
<paper-menu class="dropdown-content" selected="{{selectedPatient}}" attr-for-selected="value"> 
    <template is="dom-repeat" id="patientMenu" items="[[patientsList]]"> 
    <paper-item class="patient-names" value="[[item.id]]">[[item.id]][[item.name]]</paper-item> 
    </template> 
</paper-menu> 

<paper-button on-tap="_fun" raised>change Array list</paper-button> 

<div style="color:blue;">selected patient id--->[[selectedPatient]]</div> 

Polymer({ 
    is: 'my-test', 
    properties: { 
     patientsList:{ 
     type:Array 
     } 
    }, 

    ready:function() { 
    this.patientsList =[ 
           {id:0,name:"aaa"}, 
           {id:1,name:"bbb"}, 
           {id:2,name:"ccc"}, 
           {id:3,name:"ddd"}, 
           {id:4,name:"eee"} 
        ]; 
    this.selectedPatient = 0; 
    }, 

    _fun:function(){ 
     this.selectedPatient = null; 
       this.patientsList = [ 
           {id:100,name:"xxx"}, 
           {id:101,name:"yyy"}, 
           {id:102,name:"qqq"}, 
           {id:103,name:"mmm"}, 
           {id:4,name:"eee"} 
        ]; 
    this.selectedPatient = 100; 


    } 

答えて

2

私は問題がdom-repeat

this.selectedPatient = 100; 
の項目を更新する時間がない持っていたということができることを考えさせる、あなたのplunker、特に「それは二度目の仕事」の部分をしよう

が実行されます。

私はselectedPatientdom-repeatが更新された後にのみ設定され、トリックを行うように思われていることを確認する

this.async(function(){ 
    this.set('selectedPatient',100) 
}.bind(this)); 

にそれを変更しようとしました。

関連する問題