angular - 禁用 matDatePicker [Angular Material] 上的输入
问题描述
嘿,我从角度材料中输入了日期选择器,我尝试禁用该值并让用户仅从日期选择器日历中进行选择,它对我不起作用。
这是我的输入:
<p class="p-rtl">
<mat-form-field class="input-min" appearance="fill">
<mat-label>Finish Date</mat-label>
<input matInput [matDatepicker]="picker" placeholder="Choose a date" [formControl]="date">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
</p>
问题是用户可以插入错误的输入,我想阻止用户输入这些输入。
我尝试用谷歌搜索并阅读参考资料,但没有什么对我不起作用。
解决方案
如果您尝试disabled
在 HTML 组件中禁用输入,您会在控制台(反应形式)中看到警告。
为了能够避免这种情况,您可以禁用 a FormControl
with
date: new FormControl({value: null, disabled: true})
然后确保用户不能写任何你可以readonly
在模板中放置属性的东西
<p class="p-rtl">
<mat-form-field class="input-min" appearance="fill">
<mat-label>Finish Date</mat-label>
<input matInput readonly [matDatepicker]="picker" placeholder="Choose a date" [formControl]="date">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
</p>
推荐阅读
- android - 以明确的意图启动 Google 地图
- javascript - VueJs Axios - 请求标头
- javascript - 如何检查数组中是否存在事件目标值
- javascript - 删除在 Jest 中记录原点行
- javascript - 下载文件在 IE 中不起作用
- javascript - 在单元测试和代码覆盖期间处理异常
- java - Android Studio 中的文本重复器
- java - 处理百里香叶片段
- php - I unable to show user name on the page after login session
- asp.net - iisnode on Windows 10 Pro - from Internal error 500.19 to Error code: 0x800F0954