我有一个表单(使用Angular Material),并且我想基于选择值禁用某些输入字段。我的代码如下所示:
的HTML
<mat-form-field class="someclass">
<mat-select placeholder="Select payment method" formControlName="paymentMethod">
<mat-option *ngFor="let payment of paymentMethodOptions" [value]="payment.value">
{{payment.viewValue}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field class="someclass">
<input matInput placeholder="Some input" formControlName="testInput">
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)
TS
paymentMethodOptions: payment[] = [
{ value: "opt-1", viewValue: "somevalue" },
{ value: "opt-2", viewValue: "anothervalue" }
];
paymentForm = new FormGroup({
paymentMethod: new FormControl("", Validators.required),
testInput: new FormControl({ value: "", disabled: true }, [
Validators.required
])
});
Run Code Online (Sandbox Code Playgroud)
如果选择的值等于opt-1,我想禁用testInput。我尝试了几种选择,但遇到了不同的错误,无法解决。有什么可行的解决方案吗?提前致谢!
我有一个带有 Angular Material stepper 的 Angular 页面,其中每个步骤的内容都在一个独立的组件中:
<mat-horizontal-stepper [linear]="isLinear" #stepper>
<mat-step [stepControl]="policyholder" state="phone">
<ng-template matStepLabel>
<span class="d-none d-sm-block">Policyholder</span>
</ng-template>
<policyholder></policyholder>
</mat-step>
<mat-step [stepControl]="policydetails">
<ng-template matStepLabel><span class="d-none d-sm-block">Policy Details</span></ng-template>
<policydetails></policydetails>
</mat-step>
<mat-step [stepControl]="paymentdetails">
<ng-template matStepLabel><span class="d-none d-sm-block">Payment Details</span></ng-template>
<paydetails></paydetails>
</mat-step>
...
</mat-horizontal-stepper>
Run Code Online (Sandbox Code Playgroud)
每个步骤都有一些带有各种字段(输入、选择等)的表单。
我的问题是 - 根据第 1 步中的某些选择选项,是否可以跳过第 2 步并直接进入第 3 步?例如,只有在下面选择了“yesOption”?
或者,作为一个选项 - 使第 2 步不可见?
<mat-form-field appearance="outline" class=“someClass”>
<mat-label>Some Condition</mat-label>
<mat-select placeholder=“Some Select“ formControlName="someControl">
<mat-option value=“yesOption”>Yes</mat-option>
<mat-option value=“noOption”>No</mat-option>
</mat-select>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)
目前,我切换到下一步如下:
<button class="someClass" type="submit" [disabled]="policyholderForm.invalid" mat-button matStepperNext>Next Step</button>
Run Code Online (Sandbox Code Playgroud)
我试图用它 …
我使用 AWS CodeCommit 一段时间了,但目前遇到以下问题,不知道出现的原因是什么:
尝试运行任何 git 命令后,我会看到一个对话框,因为我已从钥匙串访问控制列表中删除了 git-credential-osxkeychain 。按“拒绝”(如果不这样做,我会立即收到 403)。
按“拒绝”后,它给了我
'NoneType' object has no attribute 'secret_key'
Run Code Online (Sandbox Code Playgroud)然后它要求我输入用户名和密码
Username for 'https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/somerepo': username
Password for 'https://username@git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/somerepo':
Run Code Online (Sandbox Code Playgroud)在此处提供正确的凭据后,我收到 403 错误
fatal: unable to access 'https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/somerepo/': The requested URL returned error: 403
Run Code Online (Sandbox Code Playgroud)我已经尝试重新安装和重置 AWS CLI 和 Git 凭证,仔细检查了此处和此处的可能解决方案,遵循了所有说明,但没有任何帮助。
请帮我提供一些可能的解决方案。如果需要任何其他信息,请告诉我。谢谢!
我正在尝试从日期计算年龄,使用 Angular Material 日期选择器获取,但出现错误。下面是我的代码:
HTML
<div class="input-container">
<mat-form-field>
<input matInput [matDatepicker]="dp" placeholder="Date of Birth" [(ngModel)]="birthdate" formControlName="firstCtrl">
<mat-datepicker-toggle matSuffix [for]="dp"></mat-datepicker-toggle>
<mat-datepicker #dp></mat-datepicker>
</mat-form-field>
<mat-form-field>
<input matInput placeholder="Age" value="{{age}}" [(ngModel)]="age" formControlName="firstCtrl" required>
</mat-form-field>
<button mat-button (click)="CalculateAge()">Calculate Age</button>
</div>
Run Code Online (Sandbox Code Playgroud)
TS
export class ClaimSubmitComponent implements OnInit {
public birthdate: Date;
public age: number;
public CalculateAge(): void {
if (this.birthdate) {
var timeDiff = Math.abs(Date.now() - this.birthdate.getTime());
this.age = Math.floor(timeDiff / (1000 * 3600 * 24) / 365.25);
}
}
Run Code Online (Sandbox Code Playgroud)
但我收到如下错误:
ERROR TypeError: this.birthdate.getTime is …Run Code Online (Sandbox Code Playgroud) 我有一些输入字段,上面设置了不同的验证规则。但是我也想在提交时一次向所有字段添加一些验证,或者如果上面有任何错误,则禁用提交按钮。
但是,我从一开始就没有将所有输入都放在表单标签中,现在遇到了一些麻烦。我对这一切都很陌生,所以你能帮我吗?有没有办法解决它,而无需重新创建所有表单?:(
我试过添加:
<form #stepOneForm="ngForm">
<button type="submit [disabled]="!stepOneForm.form.valid" mat-button matStepperNext>Go to next step</button>
Run Code Online (Sandbox Code Playgroud)
但它没有帮助...
我的代码如下所示:
HTML
<!-- Name -->
<mat-form-field class="dcp-input-field">
<input matInput placeholder="Name" [formControl]="name" [errorStateMatcher]="matcher">
<mat-hint>Please enter your name</mat-hint>
<mat-error *ngIf="name.hasError('required')">
This is <strong>required</strong> field
</mat-error>
</mat-form-field>
<!-- DoB -->
<mat-form-field class="dcp-input-field">
<input matInput [matDatepicker]="dp" placeholder="Date of Birth" [formControl]="dob" [errorStateMatcher]="matcher">
<mat-datepicker-toggle matSuffix [for]="dp"></mat-datepicker-toggle>
<mat-datepicker #dp></mat-datepicker>
<mat-hint>Please enter your date of birth</mat-hint>
<mat-error *ngIf="dob.hasError('required')">
This is <strong>required</strong> field
</mat-error>
</mat-form-field>
<!-- PolicyNo -->
<mat-form-field class="dcp-input-field">
<input matInput placeholder="Policy number" [formControl]="policyNo" …Run Code Online (Sandbox Code Playgroud) 类似的问题还有很多,但我还是搞不懂。
在我们的团队中,我们使用“git pull”来合并分支,而不是“git fetch”+“git merge”。当我尝试在网络上搜索时,如果它是正确的流程 - 有各种主题,例如“好吧,您可以使用 git pull --rebase 代替,但它有风险”。我可以理解这一点 - 但在我们的团队中我们不使用 rebase。
例如,当我们需要合并branch1和branch2然后将其发送到devbranch时,我们只需这样做:
我们现在使用这个工作流程没有任何问题,但我只是想知道 - 这个流程是否正常并且有任何问题吗?