2016-06-29 16 views
1

Hier ist der Drop-Down-Code, die ich von here bekam:Dropdown-Listeneditor in Aurelia Kendo Grid

myDropDownEditor(container, options) { 
      //var fieldName=""; 

       $('<input required data-text-field=\"myType\" data-value-field="id" data-bind="value:name"/>') 
        .appendTo(container) 
        .kendoDropDownList({ 
         autoBind: false, 
         dataSource: { 
          data: this.myList 
         } 
        }); 
     } 

Zur Laufzeit, wenn ich auf dem Gitter auf Bearbeiten-Button klicken, erhalte ich folgende Fehlermeldung:

my-type.ts:138 Uncaught TypeError: Cannot read property 'myList' of undefined 

Irgendeine Idee?

+0

Sind Sie sicher, dass Sie Daten in this.myList haben und es ist nicht definiert nicht, wie der Fehler schon sagt? – calinaadi

+0

@calinaadi ja, da bin ich mir sicher. – genericuser

+0

Ich würde sagen, dass "dies" in diesem Kontext bezieht sich auf DataSource, die noch nicht erstellt und es ist nicht definiert. – calinaadi

Antwort

0

Sie müssen wie dies zu tun,

dropdownEditor(container: any, options: any) { 
    const dropDownData = [ 
     { name: 'One', value: 'ValueOne' }, 
     { name: 'Two' value: 'ValueTwo' }, 
     { name: 'Three', value: 'ValueThree' } 
    ]; 
    $('<input required data-bind="value:' + options.field + '"/>') 
     .appendTo(container) 
     .kendoDropDownList({ 
     dataTextField: 'name', 
     dataValueField: 'value', 
     dataSource: dropDownData, 
     optionLabel: 'Please select' 
     }); 
    }