elementUI 日期选择器,选择开始日期之后,结束日期只能选择,12月以内的。怎么判断?
elementUI 日期选择器,选择开始日期之后,结束日期只能选择,12月以内的。怎么判断?
您可以通过监听 date-picker
的 change
事件来实现这个功能。当用户选择开始日期后,您可以设置一个最大日期,使得选择结束日期时不能超过开始日期加上12个月。
下面是一个基本的实现方法:
npm i element-ui -S
import { DatePicker } from 'element-ui';
export default {
components: {
DatePicker,
},
data() {
return {
// your other data...
startDate: null, // 开始日期
endDate: null, // 结束日期
};
},
methods: {
onStartDateChange(newDate) {
this.startDate = newDate;
if (this.endDate && this.endDate.valueOf() < this.startDate.valueOf()) {
this.endDate = null; // 如果结束日期在开始日期之前,则清除结束日期
}
this.$refs.endDatePicker.$emit('picker-change', this.startDate); // 更新结束日期的最大可选日期
},
onEndDateChange(newDate) {
this.endDate = newDate;
if (this.endDate && this.endDate.valueOf() < this.startDate.valueOf()) {
this.endDate = null; // 如果结束日期在开始日期之前,则清除结束日期
}
},
},
};
v-model
来绑定开始日期和结束日期,并监听 date-picker
的 change
事件:<template>
<div>
<el-date-picker
v-model="startDate"
type="date"
placeholder="选择开始日期"
@change="onStartDateChange"
></el-date-picker>
<el-date-picker
v-model="endDate"
type="date"
placeholder="选择结束日期"
@change="onEndDateChange"
ref="endDatePicker" // 在这里引用日期选择器,以便在其他地方访问它。你可以使用 $refs 来访问它。
></el-date-picker>
</div>
</template>
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
通过设置
el-date-picker
组件pickerOptions
属性中的disabledDate
属性。判断一下是否超过12月31日就可以了。超过了就就返回false
,没有超过就返回true
。比如说下面这样的示例代码: