返回
彻底解决el-date-picker时间选择器,一点取消时报错的问题
前端
2024-01-17 03:26:55
当我们在使用el-date-picker时间选择器时,如果我们仅仅想要将选择好的日期时间取消掉,我们只需要点击一下组件左上角的“清除”按钮就可以将所选择的日期和时间清除。但是,这样做虽然可以清空展示的内容,但是并不能解决报错的问题,它并不会将数据清空。
解决这个问题的方法其实非常简单,只需要在组件的data里面定义一个名为“datetimerange”的空数组,并在“clear”函数里将此数组重新赋值为一个新的空数组即可。如下所示:
<template>
<el-date-picker
v-model="datetimerange"
type="datetime"
placeholder="选择日期时间"
>
<el-button slot="append" @click="clear">清除</el-button>
</el-date-picker>
</template>
<script>
import { ref } from 'vue'
export default {
setup() {
const datetimerange = ref(null)
const clear = () => {
datetimerange.value = []
}
return {
datetimerange,
clear
}
}
}
</script>
改进后的代码
<template>
<el-date-picker
v-if="form.datetimerange === null ? form.datetimerange = [] : form.datetimerange"
v-model="form.datetimerange"
type="datetime"
placeholder="选择日期时间"
>
<el-button slot="append" @click="clear">清除</el-button>
</el-date-picker>
</template>
<script>
import { ref } from 'vue'
export default {
setup() {
const form = ref({
datetimerange: null
})
const clear = () => {
form.value.datetimerange = []
}
return {
form,
clear
}
}
}
</script>
通过以上步骤,我们就可以彻底解决el-date-picker时间选择器,一点取消时报错的问题了。