2016-04-05 20 views
1

Verwendung von Vue.js (Vue-Tabellen https://www.npmjs.com/package/vue-tables) mit Laravel. Die Daten werden erfolgreich angezeigt, aber der Datumsrangierer (http://www.daterangepicker.com/) sortiert überhaupt nicht. Egal welches Intervall ich einstelle, die Datensätze werden nicht angezeigt. Das Feld wird mit Kohlenstoff analysiert wird in benötigtem Format zurückzukehrenDateRangePicker erkennt kein Kohlenstoffdatum

public function getFootageDateAttribute($date) 
{ 
    return Carbon::parse($date)->format('d-m-Y'); 
} 

In der JS-Datei, ich habe dateFormat: "DD-MM-YY",filterByColumn: true,dateColumns: ['footage_date'],. Als ich mit vue dev-Tools überprüfen, ist das Feld footage_date: "03-04-2016"

Wenn ich das Datum wie im Beispiel codieren (https://jsfiddle.net/matfish2/f5h8xwgn/) mit

// Mit freundlicher Genehmigung von Tomasz Nurkiewicz (Elegant method to generate array of random dates within two dates)

function randomDate(start, end) { 
    return moment(start.getTime() + Math.random() * (end.getTime() - start.getTime())); 
} 

Das Datum ist in diesem Format footage_date: "1974-03-27T18:19:40.364Z" und es funktioniert.

Pastebin der vollständigen js-Datei http://pastebin.com/6hCe2eQL. Client-Seite http://pastebin.com/xTUcAK98

Antwort

0

Die footage_date sollte als Moment Instanz übergeben werden, nicht als Datum Zeichenfolge daher Modifizieren der Ready-Funktion hat es

ready: function(){ 
     this.$http.get('/api/footage') 
      .then(function(response){ 
       footages = response.data 
       footages.forEach(footage => { 
        footage.footage_date = moment(footage.footage_date) 
       }) 
       this.tableData = footages 
      }.bind(this)) 
    } 
Verwandte Themen