ion-datetime不绑定ngmodel

时间:2017-11-21 09:22:01

标签: validation ionic2

大家好,这件事让我发疯了。

我有这段代码:

<form (ngSubmit)="search()" #rosterSearchForm="ngForm">
  <ion-row>
    <ion-col>
      <ion-list inset>
        <ion-item>
          <ion-datetime type="text" placeholder="Year" displayFormat="YYYY" name="year" [(ngModel)]="data.rq.Year" required></ion-datetime>
        </ion-item>
        <ion-item>
          <ion-datetime type="text" placeholder="Month" displayFormat="MM" name="month" [(ngModel)]="data.rq.Month" required></ion-datetime>
        </ion-item>
      </ion-list>
    </ion-col>
  </ion-row> 
  <ion-row>
    <ion-col class="signup-col">
      <button ion-button class="submit-btn" full type="submit" [disabled]="!rosterSearchForm.form.valid" >Search</button>
    </ion-col>
  </ion-row>
</form>

第一个日期选择器与ngmodel进行绑定。 第二个没有。 我需要分别将年份和月份作为文本(例如“2017”和“11”)。 验证总是失败,并且提交按钮永远不会激活。

看起来很简单。但我看不出错误。 我要疯了。请帮帮我。

2 个答案:

答案 0 :(得分:0)

您无法使用ion-datetime,因为它不受支持。您可以使用以下代码:

    <ion-row>
      <ion-col>
        <ion-list inset>

          <ion-item>
            <ion-datetime type="text"
                          placeholder="Select Month And year"
                          displayFormat="MM/YYYY"
                          pickerFormat="MM YYYY"
                          name="month"
                          [(ngModel)]="rosterSearchForm.month" required>
            </ion-datetime>
          </ion-item>
        </ion-list>
      </ion-col>
    </ion-row>
    <ion-row>
      <ion-col class="signup-col">
        <button ion-button class="submit-btn" full type="submit"
                [disabled]="!rosterSearchForm.form.valid" >Search</button>
      </ion-col>
    </ion-row>
  </form>

.ts

  search(rosterSearchForm){

    console.log(rosterSearchForm.value);

  }

答案 1 :(得分:0)

我最终这样做了:

<ion-label stacked>Month</ion-label>
<ion-datetime placeholder="Month"
              pickerFormat="MMM YYYY" 
              displayFormat="MMM YYYY"
              [(ngModel)]="month">
</ion-datetime>

并在.ts文件中

this.Year = this.datepipe.transform(this.month,'yyyy')
this.Month = this.datepipe.transform(this.month,'MM')