Cum să înlocuiți uib-datepicker-popup depreciat? (Programare, Angularjs, Datapicker, Angular Bootstrap)

mickro a intrebat.

Din moment ce mi-am actualizat proiectul la "angular-bootstrap": "~1.2.4", , am un avertisment în consolă:

uib-datepicker settings via uib-datepicker-popup attributes are deprecated and will be removed in UI Bootstrap 1.3, use datepicker-options attribute instead

uib-datepicker-popup este completat de un format de dată sau de o matrice de formate de dată:

  • uib-datepicker-popup="dd-MMMM-yyyy" în cazul meu

Deci, în documentația angular bootstrap se arată în continuare deprecated modul în care se poate trata acest caz.

Știe cineva cum să migreze la noua versiune?

2 răspunsuri
McGiogen

Nu au depreciat atributul „uib-datepicker-popup”, avertismentul este legat de toate atributele enumerate în documentația datepicker în secțiunea „Datepicker Settings”. Trebuie să furnizați acele valori prin atributul „datepicker-options”. nu știu de ce, dar cele din secțiunea „Popup Settings” nu aruncă avertismentul.

În cazul meu, am avut

JS

$scope.datepicker.format = 'shortDate';
$scope.datepicker.options = {
    formatYear: 'yy',
    startingDay: 1
};

HTML

<input type="text" class="form-control" 
     ng-model="ngModel"
     uib-datepicker-popup="{{ datepicker.format }}"
     datepicker-options="datepicker.options"

     datepicker-append-to-body="true" 
     is-open="datepicker.opened"               
     show-button-bar="false"
     close-text="Close"

     min-date="minDate"
     max-date="maxDate"
     custom-class="getCustomClass"
     show-weeks="false"
     />

și a devenit

JS

$scope.datepicker.format = 'shortDate';
$scope.datepicker.options = {
    formatYear: 'yy',
    startingDay: 1,
    minDate: minDate,
    maxDate: maxDate,
    showWeeks: false,
    customClass: getCustomClass
};

HTML

<input type="text" class="form-control" 
     ng-model="ngModel"
     uib-datepicker-popup="{{ datepicker.format }}"
     datepicker-options="datepicker.options"

     datepicker-append-to-body="true" 
     is-open="datepicker.opened"               
     show-button-bar="false"
     close-text="Close" 
     />


Actualizare

reproducere plunker

Comentarii

  • este uib-datepicker-popup="dd-MMMM-yyyy" care mi-a dat un avertisment, nimic altceva –  > Por mickro.
  • Am avut aceeași problemă. Ați verificat dacă avertismentul se mai declanșează dacă eliminați valoarea "dd-MMMM-yyyy" și păstrați doar uib-datepicker-popup? –  > Por McGiogen.
  • Exemplu adăugat pe plunker, încercați să comentați/dezcomentați ultimul datepicker pentru a vedea că acesta este sursa avertismentului având uib-datepicker-popup fără nicio valoare, în timp ce primul datepicker nu lansează niciun avertisment. –  > Por McGiogen.
  • @McGiogen la ce folosește să ai formatYear: ‘yy’, în dateoptions? –  > Por H Varma.
  • După cum puteți vedea în documentația datepicker, , formatYear: 'yy' schimbă formatul anului în intervalul de ani de la yyyy (ex.: 1990-1995) la yy (ex.: 90-95). În acest răspuns este doar un exemplu de configurare. –  > Por McGiogen.
nolines

Aici este ghidul de actualizare. Pentru mine funcționează bine.https://github.com/angular-ui/bootstrap/wiki/Migration-guide-for-prefixes

Comentarii

  • Mulțumesc, nu mi-am amintit de acest document. Cu toate acestea, se spune: Change: datepicker-popup for uib-datepicker-popup.. Dar uib-datepicker-popup este exact ceea ce va fi depreciat… –  > Por mickro.