javascript - issue in disabling dates on datepicker -


i using vue-date-range date picker. here using disabledstart , disabledend props not disabling date on view. disabling date required object. passing object doesn't work.i don't know correct object format disabling dates.

any appreciated plugin link https://www.npmjs.com/package/vue-date-range

here html

  <div class="form-group form-group-lg">                 <label>when required?</label>                  <daterange class="calendar"                    :sync-range.sync="range"                    :disable-days-before-today="disabledaysbeforetoday"                   :days-disabled-start="disablestart"                   :days-disabled-end="disableend"                   :lang="lang" @change="onchange">                   </daterange>                </div> 

js

<script> import { daterange } 'vue-date-range'; export default {     data() {     return {       lang: 'en',       disabledaysbeforetoday: true,       disablestart: { startdate:moment()},       disableend: {        enddate: moment().add(7, 'days')       },       range: {}     }    },   components: {     'daterange': daterange   },    methods: {      onchange(range) {       console.log("start", range.startdate._d);       console.log("end", range.enddate._d);     },     disable() {       console.log("on button click disable dates");       this.disablestart._d = new date('2017-08-25').tostring()       }     }   } </script>  

as phil pointed out, after looking source code of library, can confirm object used moment.js's date object.
pass moment.js's date object days-disabled-start , days-disabled-end.

see demo below.

new vue({      el: '#range',      components: {          'daterange':daterange.daterange      },      data() {        return {          lang: 'en',          range: {            startdate: moment(),            enddate: moment().add(2, 'days')          },          disablestart: moment().add(3, 'days'),          disableend: moment().add(6, 'days')        };      },      methods: {        onchange(range) {          this.range = range;        },        setrange (p) {          if (typeof p === 'number') {            console.log(p)            this.range = {              startdate: moment().add(p, 'days'),              enddate: moment()            }          }        },      }  });
<script src="https://cdn.bootcss.com/moment.js/2.17.1/moment.min.js"></script>  <script src="https://unpkg.com/vue/dist/vue.min.js"></script>  <script src="https://unpkg.com/vue-date-range@2.2.2/dist/vue-date-range.min.js"></script>  <div id="range" class="calendar-wrapper">      <span>{{range.startdate.format('yyyy-mm-dd')}}</span>~<span>{{range.enddate.format('yyyy-mm-dd')}}</span>      <daterange class="calendar"         :sync-range="range"         :lang="lang"         :days-disabled-start="disablestart"        :days-disabled-end="disableend"        @change="onchange">      </daterange>      <button @click.stop.prevent="setrange(-7)">last 7 days</button>      <button @click.stop.prevent="setrange(-30)">last 1 month</button>  </div>


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -