效果如图:页面提示+不可提交时间段内字段状态禁用
实现步骤:
1、配置开始时间和截至时间(单行文本设置默认值并隐藏,英文状态的冒号)
2、表单设置绑定函数
3、代码如下
export function didMount() {
var date = new Date;
let now = date.getTime();//当前时间
let y = date.getFullYear();//获取当前年份
let m = date.getMonth() + 1;//获取当前月份
let d = date.getDate();//获取当前日
let startnum = this.$("开始时间的唯一标识").getValue().split(":");//获取开始时间
let endnum = this.$("截止时间的唯一标识").getValue().split(":");//获取截止时间
let star = new Date(Date.UTC(y, m - 1, d, startnum[0] - 8, startnum[1], startnum[2]));//开始时间(year, month - 1, day, hour-8, minute, second))
let end = new Date(Date.UTC(y, m - 1, d, endnum[0] - 8, endnum[1], endnum[2]));//结束时间
if (Number(star) <= Number(now) && Number(now) <= Number(end)) {
//如果在可填写的时间段不做任何操作
} else {
//如果不在可填写的时间段,将组件全部改为禁用并隐藏提交按钮。
this.setState({
behavior: "DISABLED"
})
this.utils.toast({//弹出提示不在可填写的时间段内
title: `不在可填写的时间段内,表单提交时间为每天${this.$("开始时间的唯一标识").getValue()}~${this.$("截止时间的唯一标识").getValue()}`,
type: 'error',
size: 'large',
})
document.getElementsByClassName("deep-form-submit")[0] ? document.getElementsByClassName("deep-form-submit")[0].style.display = "none" : ""//隐藏提交按钮
}
}
4、新建变量
5、表单字段绑定变量即可实现非提交时间段内字段状态禁用