uni-datetime-picker type="date" 默认显示当天 当天之前的日期都不可选 具体代码如何实现
时间: 2024-09-19 21:05:25 浏览: 222
微信小程序之picker日期和时间选择器
uni-datetime-picker 是一款基于 UniApp 的日期时间选择器组件,如果你想让它默认只显示当前日期并且不允许选择当天之前的日期,你可以通过设置它的属性和选项来实现。这里是一个基本的示例:
```html
<view>
<uni-datetime-picker
ref="datetimePicker"
type="date"
:value="currentDate"
:range-separator="--"
:start-placeholder="('placeholder.start', '开始日期')"
:end-placeholder="('placeholder.end', '结束日期')"
:disabled-days="disablingDays"
@confirm="handleConfirm"
@cancel="handleCancel"
></uni-datetime-picker>
</view>
<script setup>
import { ref } from 'vue';
import { defineComponent } from 'vue';
// 初始化当前日期
const currentDate = ref(new Date());
// 设置禁止选择的日期范围,这里是前一天
const disablingDays = (current) => {
const disabledDates = [];
if (current && current.getTime() !== today.getTime()) {
disabledDates.push(today);
}
return disabledDates;
};
// 当用户选择日期后处理
function handleConfirm({ start, end }) {
// 如果选择了昨天或更早的日期,则提示用户
if (start.getTime() < today.getTime()) {
alert('今天及之前的日子无法选择');
this.$refs.datetimePicker.value = today;
} else {
// 正常处理选定的日期
}
}
// 获取今天的日期
const today = new Date();
</script>
```
在这个例子中,`disablingDays` 函数会检查选择的日期是否小于当前日期,如果是则添加到禁选日期数组中。当用户确认选择后,如果选择的是昨天或更早的日期,会弹出提示并恢复默认值。
阅读全文