javascript - 当我们在 FLEX LAYOUT 的 fxFlex 中使用时,角度材料日期选择器宽度太长
问题描述
我面临一些 mat-date-picker 元素的宽度问题,问题是当我在 flex 布局中使用 mat-form-field 进行正常输入时,对齐是可以的。但是当我使用与 mat-date-picker 相同的 mat-form-field 时,对齐不正确,我无法修复它。任何帮助,将不胜感激。
日期选择器.html
<div fxFlex="100">
<div fxFlex="40">
<div fxLayout="row" fxLayoutAlign="space-between center">
<div>
<mat-label>COURSE TITLE </mat-label>
</div>
<div>
<mat-form-field appearance="outline">
<input matInput type="text" placeholder="COURSE TITLE" readonly>
</mat-form-field>
</div>
</div>
<div fxLayout="row" fxLayoutAlign="space-between center">
<div>
<mat-label>DATE PICKER </mat-label>
</div>
<div>
<mat-form-field appearance="outline">
<input matInput [matDatepicker]="picker" placeholder="CLICK TO OPEN CALENDER">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
</div>
</div>
</div>
</div>
我已经用谷歌搜索了很多次,但没有合适的解决方案,如果我想解决这个问题,我必须通过设置潜水宽度来手动完成,它不正确,因为为潜水设置固定宽度没有响应,对齐会不合适.in 上面的代码 fxLayoutAlign="space-between center" 负责潜水的对齐。
日期选择器.html
<div fxFlex="100">
<div fxFlex="40">
<div fxLayout="row" fxLayoutAlign="space-between center">
<div>
<mat-label>COURSE TITLE </mat-label>
</div>
<div>
<mat-form-field appearance="outline">
<input matInput type="text" placeholder="COURSE TITLE" readonly>
</mat-form-field>
</div>
</div>
<div fxLayout="row" fxLayoutAlign="space-between center">
<div fxFlex="30">
<mat-label>DATE PICKER </mat-label>
</div>
<div fxFlex="40">
<mat-form-field appearance="outline">
<input matInput [matDatepicker]="picker" placeholder="CLICK TO OPEN CALENDER">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
</div>
</div>
</div>
</div>
在上面的代码中,我使用 fxFlex 为潜水设置了宽度,在这里它工作正常但没有响应。它仅适用于笔记本电脑,如果我在 dektop 中打开相同的 UI 或选项卡对齐出错。我的问题是为什么 mat-form-field 宽度正在增加。我听说 mat-datepicker-toggle 使用 mat-form-field 链接占用了 1em 的一些额外空间(https://github.com/angular/components/issues/ 11663)。如何解决这个问题,我不想手动完成。任何帮助,将不胜感激。
解决方案
Try this solution, I have made changes in SCSS.
This is my HTML.
<div fxFlex fxLayout.sm="column" fxLayout.xs="column" fxLayoutGap="20px" fxLayoutGap.sm="0" fxLayoutGap.xs="0" >
<mat-form-field fxFlex appearance="fill" class="datepicker">
<mat-label>Updated From</mat-label>
<input matInput [matDatepicker]="ufrom">
<mat-datepicker-toggle matSuffix [for]="ufrom"></mat-datepicker-toggle>
<mat-datepicker #ufrom></mat-datepicker>
</mat-form-field>
<mat-form-field fxFlex appearance="fill" class="datepicker">
<mat-label>Updated To</mat-label>
<input matInput [matDatepicker]="uto">
<mat-datepicker-toggle matSuffix [for]="uto"></mat-datepicker-toggle>
<mat-datepicker #uto></mat-datepicker>
</mat-form-field>
</div>
This is my SCSS.
/* Datepicker width issue */
.datepicker {
.mat-form-field-flex {
display: inherit;
}
.mat-form-field-prefix, .mat-form-field-suffix {
width: 35px;
float: right;
position: absolute !important;
top: 10px;
right: 5px;
}
}
.mat-form-field-infix {
width: auto !important;
}
推荐阅读
- python - 为什么我在一个 epoch 上的模型训练需要将近 2 个小时?
- html - 在具有多个类的嵌套 div 中访问子级
- github - 收到致命警报:protocol_version
- angular - SignalR HubConnectionBuilder 生成 HTTP 415 错误
- react-native - 如何在本机反应中将测试条纹付款更改为实时条纹付款
- swift - 将 POST 和 Auth 与 Firebase 数据库和 Swift 结合使用
- azure - 为什么天蓝色磁盘吞吐量是宣传的一半?
- discord.py - discord.py - 如何创建一个命令,将许多带有空格的单词作为一个参数
- r - 使用 kableExtra 进行脚注内联样式
- javascript - Javascript DOM 元素 .click() 在 addEventListener 中不起作用?(不和谐)