Angular 按钮已禁用,无法正常工作

Angular 按钮已禁用,无法正常工作,angular,angular8,Angular,Angular8,这是我的场景,我有一个日期选择器和一个保存按钮 当日期不可用时,我禁用保存按钮。实际上,我的代码是在一般情况下工作的 这是我目前的代码: disableDate(){ for(让index=0;indexthis.formatDate(this.dataSource.data[index].detail[0].doe)){ 返回true; } } } 返回false; } 这是我禁用按钮的HTML代码 保存 我在这里做错了什么;为什么禁用按钮不能正常工作?首先: disableDate的返回

这是我的场景,我有一个日期选择器和一个保存按钮

当日期不可用时,我禁用保存按钮。实际上,我的代码是在一般情况下工作的

这是我目前的代码:

disableDate(){
for(让index=0;indexthis.formatDate(this.dataSource.data[index].detail[0].doe)){
返回true;
}
}
}
返回false;
}
这是我禁用按钮的HTML代码

保存

我在这里做错了什么;为什么禁用按钮不能正常工作?

首先
disableDate
的返回类型应为bool

我建议您先设置一个变量,如
disableBtn
将其赋值为false

 disableBtn: boolean = false

然后在检查条件的方法中,根据您的情况将按钮的状态更改为真/假

而不是返回。只有当HTML元素的值为null

时,才会从HTML元素中删除像disabled、readonly这样的属性。您应该查看表单验证器。在模板中放入这样的函数通常是不好的做法。我们需要更多的细节。什么不起作用?有错误吗?它总是被禁用吗?它总是启用吗?“在一般情况下工作”是什么意思?如果您编写
[disabled]=“false”
,请确保它实际产生预期的行为。如果是,那么可能是disableDate()中有一个bug,在这种情况下,我建议进行单元测试,而不是禁用按钮,您应该使用验证器。如果需要自定义验证器,可以使用
AbstractControl
。然后,当您想要提交表单:
时,我需要为两者提供null吗?或者在上一次返回中,我只需要提供null,您可以检查这个StackBlitz脚本。你能提供一些参考资料吗