如何使用时间选择器禁用过去的时间

Jai*_*son 4 antd

使用 ant 设计禁用今天的过去时间,例如小时、分钟、秒等。有没有比 minTime 等“disabledHours”更简单的解决方案?

<TimePicker format="h:mm:ss A" disabledHours={() => [1, 2, 3]} />
Run Code Online (Sandbox Code Playgroud)

小智 10

您应该尝试设置 TimePicker 的 disableHours 和 disabledMinutes:

<TimePicker
    disabledHours={this.getDisabledHours()}
    disabledMinutes={this.getDisabledMinutes()}
>

...
getDisabledHours = () => {
    var hours = [];
    for(var i =0; i < moment().hour(); i++){
        hours.push(i);
    }
    return hours;
}

getDisabledMinutes = (selectedHour) => {
    var minutes= [];
    if (selectedHour === moment().hour()){
        for(var i =0; i < moment().minute(); i++){
            minutes.push(i);
        }
    }
    return minutes;
}
Run Code Online (Sandbox Code Playgroud)

如果你想禁用秒,你可以对disabledSeconds签名为function(selectedHour, selectedMinute).