P粉0236500142023-08-27 00:21:48
You can use scope slots to achieve this:
<date-picker format='MM-DD-YYYY' value-type='format' v-model='time'> <template #input='{ props, events }'> <input v-bind='props' v-on='events'> </template> </date-picker>
Now we can intercept input events and remove unwanted characters:
<date-picker format='MM-DD-YYYY' value-type='format' v-model='time'> <template #input='{ props, events }'> <input v-bind='props' v-on='{ ...events, input: event => handleInput(event, events.input) }'> </template> </date-picker>
... methods: { handleInput (event, update) { let value = event.target.value.replace(/[^0-9/-]/g, '') // 强制Vue在删除一些字符后刷新输入框 this.$forceUpdate() // 将新值应用于让vue2-datepicker继续其流程 update(value) } } ...