Angular 2 - 根据选择的选项值显示元素[重复]

Posted

技术标签:

【中文标题】Angular 2 - 根据选择的选项值显示元素[重复]【英文标题】:Angular 2 - Show element based on option value selected [duplicate] 【发布时间】:2018-03-24 05:50:43 【问题描述】:

我正在寻找基于从 Angular 2 中的表单下拉菜单中选择的内容来显示元素的最简洁方式。

我尝试了几种不同的技术,但仍然没有运气!

这是我目前拥有的:

html

<fieldset class="full-width sm-padding">
    <label>What existing cover do you already have?</label>
    <select id="existingCover" [(ngModel)]="selectedNav">
        <option *ngFor="let dropDown of existingCoverList">
            dropDown.option
        </option>
    </select>
</fieldset>


<div *ngIf="selectedNav === 'Cover1'">Show this element if option 1 is selected!</div>

打字稿:

existingCoverList: any[] = [
     option: 'Cover1' ,
     option: 'Cover2' ,
     option: 'Cover3' ];

我做错了什么?

感谢您对此的帮助。

【问题讨论】:

【参考方案1】:

按照下面的代码,你会得到预期的结果。我添加到您的代码中的这个东西

HTML:

<fieldset class="full-width sm-padding">
    <label>What existing cover do you already have?</label>
    <select id="existingCover" [(ngModel)]="selectedNav">
        <option [value]="dropDown.option" 
            *ngFor="let dropDown of existingCoverList">
            dropDown.option
        </option>
    </select>
</fieldset>


<div *ngIf="selectedNav === 'Cover1'">Show this element if option 1 is selected!</div>

【讨论】:

这对我不起作用!我应该在组件中导入任何东西吗? 只有角芯需要在组件上导入。你在组件中声明了 selectedNav 吗? 现在可以工作了...有一个控制台问题阻止它工作-“错误错误:如果在表单标签中使用 ngModel,则必须设置名称属性或必须设置表单控件在 ngModelOptions 中被定义为‘独立’。”感谢您的帮助 @Dboi 感谢您的评论!!甚至我也在使用表单控件。

以上是关于Angular 2 - 根据选择的选项值显示元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Vue:如何根据选择的选项更改路线,并在 <select> 元素中显示默认选择的选项?

CSS 根据 HTML 选择选项值选择另一个元素

根据选项元素值选择变量名称

Angular 2 选择选项(下拉菜单) - 如何获取更改值以便可以在函数中使用?

Angular 根据其他选择更改将选择值更改为 null

Angular 4 - 在选择列表中使用对象作为选项值