【问题标题】:ion-select default value not loading in typescript离子选择默认值未在打字稿中加载
【发布时间】:2018-02-14 02:20:12
【问题描述】:

我查看了 this questionthis questionthis question,但它们似乎都不够简单,足以满足我的需求。

<ion-list>
  <ion-item>
    <ion-label>Select Book</ion-label>
    <ion-select [(ngModel)]="selectbook" value="Return">
      <ion-option value="Hobbit">The Hobbit</ion-option>
      <ion-option value="Fellow">The Fellowship of the Ring</ion-option>
      <ion-option value="Towers">The Two Towers</ion-option>
      <ion-option value="Return" selected="true">The Return of the King</ion-option>
    </ion-select>
  </ion-item>
</ion-list>

<ion-item>
  <ion-label>Number of Hobbits</ion-label>
  <ion-input type="number" [(ngModel)]="selecthobbits" [min]="1" [max]="150" value="1"></ion-input>
</ion-item>

然后有一个按钮(在.ts 文件中)使用this.selecthobbitsthis.selectbook。但是我的打字稿似乎没有识别默认值(我得到了通常的 js undefined)。

我知道这并没有完全失败,因为this.selecthobbits 总是能得到正确的信息,而this.selectbook 一旦有人真正点击了一个选项,即使是默认值。所以我可以不使用默认值,但这似乎有点错过了拥有默认值的意义。

有谁知道我使用哪种语法(我没有尝试过,都尝试过)来获取打字稿拾取的默认值是正确的,或者是否还有另一种?坦率地说,似乎我可能需要导入一些额外的模块才能访问它(例如 [value]value?),但筛选这些干草堆是一个严峻的前景。提前致谢!

【问题讨论】:

    标签: angular typescript ionic-framework ionic3 ion-select


    【解决方案1】:

    ion-select 中删除value="Return" 和从ion-option 中删除selected="true",在ionViewDidLoad 中的.ts 文件中或您正在使用的任何生命周期中,写在下面的行

    this.selectbook = 'Return';
    

    Return的选项将在初始化时被选中。

    【讨论】:

    • 所以,原则上这是可行的。 (我只是把它放在类定义中。)但是......我不明白为什么selected="true" 不起作用 - 显然甚至被这个数量所覆盖。为什么我不必为ion-input 项目这样做?是否有任何关于这类事情的可靠文档?
    • 例如即使ionicframework.com/docs/api/components/select/Select 也没有让它100% 明显,尽管它与这个答案是一致的,所以我会接受它。
    猜你喜欢
    • 2018-01-07
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-20
    • 2021-05-13
    • 2021-05-18
    相关资源
    最近更新 更多