【问题标题】:Default value not selected after 'Select' options are passed as Input在“选择”选项作为输入传递后未选择默认值
【发布时间】:2021-03-10 13:16:43
【问题描述】:

我的选择控件如下

    <select formControlName="productType">
        <option *ngFor="let option of optionsArray; let i = index"
                [selected]="i===0">
            {{ option.name }}
        </option>
    </select>

在我的 ts 文件中,optionsArray 是一个属性

@Input( 'options'):IMyOption[]

get optionsArray(): IMyOption[] {
    return Object.values( this.options );
}

选项是来自父组件的输入。我想要的只是选择第一项,但总是空白。这些选项是从父项正确填充的。我怎样才能让 [selected] 工作?请帮忙。

【问题讨论】:

标签: angular


【解决方案1】:

像这样试试。

<select formControlName="productType">
    <option *ngFor="let option of optionsArray; let i = index"
            [selected]="i===0 ? 'true': ''">
        {{ option.name }}
    </option>
</select>

【讨论】:

  • 不——很遗憾没有
  • 检查最终选择并检查第一个元素是否具有属性selected=selected
  • 否 - 开发工具中没有“已选择”选项
  • 尝试将“selected”更改为 true 为已修改,我在 Stackblitz 上按照您的代码做了一个示例:stackblitz.com/edit/angular-quyaec?file=src/app/…
  • 你是对的。当您在 OnInit 中有选项时工作,但如果选项在 @Input 中传递则不工作
猜你喜欢
  • 2021-08-22
  • 1970-01-01
  • 1970-01-01
  • 2017-12-18
  • 2018-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多