小编And*_*rew的帖子

根据选择值禁用Angular Reactive表单输入

我有一个表单(使用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 angular angular-reactive-forms

5
推荐指数
2
解决办法
1981
查看次数

跳过角度材料步进器中的步骤(取决于某些条件)

我有一个带有 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)

我试图用它 …

angular-material angular

5
推荐指数
1
解决办法
5777
查看次数

在询问用户名和密码后使用 AWS CodeCommit 时出现 403 错误 (MacOS)

我使用 AWS CodeCommit 一段时间了,但目前遇到以下问题,不知道出现的原因是什么:

  1. 尝试运行任何 git 命令后,我会看到一个对话框,因为我已从钥匙串访问控制列表中删除了 git-credential-osxkeychain 。按“拒绝”(如果不这样做,我会立即收到 403)。

  2. 按“拒绝”后,它给了我

    'NoneType' object has no attribute 'secret_key'
    
    Run Code Online (Sandbox Code Playgroud)
  3. 然后它要求我输入用户名和密码

    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)
  4. 在此处提供正确的凭据后,我收到 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 凭证,仔细检查了此处此处的可能解决方案,遵循了所有说明,但没有任何帮助。

请帮我提供一些可能的解决方案。如果需要任何其他信息,请告诉我。谢谢!

git amazon-web-services aws-codecommit

5
推荐指数
1
解决办法
1万
查看次数

从 Angular 6 + Angular Material 中的日期计算年龄

我正在尝试从日期计算年龄,使用 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)

angular

3
推荐指数
1
解决办法
7867
查看次数

Angular 6 + Angular Material - 提交时的表单验证

我有一些输入字段,上面设置了不同的验证规则。但是我也想在提交时一次向所有字段添加一些验证,或者如果上面有任何错误,则禁用提交按钮。

但是,我从一开始就没有将所有输入都放在表单标签中,现在遇到了一些麻烦。我对这一切都很陌生,所以你能帮我吗?有没有办法解决它,而无需重新创建所有表单?:(

我试过添加:

  <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)

validation angular-material angular

2
推荐指数
1
解决办法
2万
查看次数

使用不带“--rebase”标签的“git pull”命令来合并分支

类似的问题还有很多,但我还是搞不懂。

在我们的团队中,我们使用“git pull”来合并分支,而不是“git fetch”+“git merge”。当我尝试在网络上搜索时,如果它是正确的流程 - 有各种主题,例如“好吧,您可以使用 git pull --rebase 代替,但它有风险”。我可以理解这一点 - 但在我们的团队中我们不使用 rebase。

例如,当我们需要合并branch1和branch2然后将其发送到devbranch时,我们只需这样做:

  1. git pull originbranch1(来自devbranch)
  2. git pull originbranch2(来自devbranch)*解决冲突(如果有)
  3. 检查本地是否一切正常
  4. git Push 起源 devbranch
  5. 使用branch1和branch2从devbranch提取最新(合并)的代码

我们现在使用这个工作流程没有任何问题,但我只是想知道 - 这个流程是否正常并且有任何问题吗?

git merge

1
推荐指数
1
解决办法
1万
查看次数