alireza-ab / vue-persian-datepicker

A datepicker component for select Persian date
https://alireza-ab.ir/datepicker
MIT License
44 stars 9 forks source link

selection-range ساخت تابع برای #26

Closed shahinesi closed 1 year ago

shahinesi commented 1 year ago

با سلام و خدا قوت

<date-picker placeholder="تاریخ " @submit="submit" name="app" id="app" color="red" mode="range" style="--icon-background:#transparent;" type="datetime" :auto-submit="false" :to="toDates"></date-picker>

من قصد دارم که برای to تابعی تعریف کنم :to="toDates" و در method این مقدار رو فراخوانی کنم

new Vue({
  el: '#app',
  autoSubmit: false,
  components: {
    datePicker
  },
  methods: {
    submit(date) {
      datetempStart = new PersianDate(date[0]).toString("YYYY-MM-DDTHH:mm:ss.0000000");
      datetempEnd = new PersianDate(date[1]).toString("YYYY-MM-DDTHH:mm:ss.9999999");
    },
    toDate() {
      //Today 23:59
      return new PersianDate().toString('date 23:59');
    },
  }
})

ولی با خطای زیر مواجه میشوم ممنون میشم راهنمایی بفرمائید

e.js:5108 [Vue warn]: Invalid prop: type check failed for prop "to". Expected String, got Function 

found in

---> <DatePicker>
       <Root>
warn$2 @ vue.js:5108
assertProp @ vue.js:5662
validateProp @ vue.js:5601
_loop_1 @ vue.js:4361
initProps$1 @ vue.js:4386
initState @ vue.js:4330
Vue._init @ vue.js:4714
VueComponent @ vue.js:5838
createComponentInstanceForVnode @ vue.js:5047
init @ vue.js:4909
createComponent @ vue.js:6580
createElm @ vue.js:6534
createChildren @ vue.js:6653
createElm @ vue.js:6557
patch @ vue.js:7120
Vue._update @ vue.js:2838
updateComponent @ vue.js:2948
Watcher.get @ vue.js:4178
Watcher @ vue.js:4168
mountComponent @ vue.js:2965
Vue.$mount @ vue.js:9311
Vue.$mount @ vue.js:11870
Vue._init @ vue.js:4724
Vue @ vue.js:5774
(anonymous) @ main.js?version%20=%201.0.0:377
vue.js:5108 [Vue warn]: Error in mounted hook: "TypeError: e.split is not a function"

found in

---> <DatePicker>
       <Root>
w
alireza-ab commented 1 year ago

سلام اگه قصد دارید که با هربار تغییر مقدار فیلد مقدار to رو تغییر بدین میتونید از ایونت select استفاده کنید https://alireza-ab.ir/datepicker/events#select

<date-picker placeholder="تاریخ " @submit="submit" @select="select" name="app" id="app" color="red" mode="range" style="--icon-background:#transparent;" type="datetime" :auto-submit="false" :to="toDate"></date-picker>
new Vue({
  el: '#app',
  autoSubmit: false,
  components: {
    datePicker
  },
  data(){
     return  {
         toDate: new PersianDate().toString('date 23:59')
     }
}
  methods: {
    submit(date) {
      datetempStart = new PersianDate(date[0]).toString("YYYY-MM-DDTHH:mm:ss.0000000");
      datetempEnd = new PersianDate(date[1]).toString("YYYY-MM-DDTHH:mm:ss.9999999");
    },
    select()
      this.toDate = new PersianDate().toString('date 23:59');
    },
  }
})
shahinesi commented 1 year ago

ممنونم از شما