Html Angular 4.3-在子组件中实现枚举的正确方法?
今天,我在contact.component中部署了一个枚举,无法从中访问所选值。它是表单的一部分。下面是我如何实现枚举的: contact.component.ts(仅摘录相关代码) 因此,我的联系人组件的HTML类如下所示: contact.component.html(仅提取相关代码)Html Angular 4.3-在子组件中实现枚举的正确方法?,html,angular,enums,angular4-forms,Html,Angular,Enums,Angular4 Forms,今天,我在contact.component中部署了一个枚举,无法从中访问所选值。它是表单的一部分。下面是我如何实现枚举的: contact.component.ts(仅摘录相关代码) 因此,我的联系人组件的HTML类如下所示: contact.component.html(仅提取相关代码) 网上联络表格 接触类型: {{contactType[key]} 名字: {{alertFirstName}} ... 非常感谢-已发送消息-详情如下: {{contactType}} 名字:{{
网上联络表格
接触类型:
{{contactType[key]}
名字:
{{alertFirstName}}
...
非常感谢-已发送消息-详情如下:
{{contactType}}
名字:{{firstName}}
姓氏:{{lastName}
电子邮件地址:{{Email}
联系电话:{{contactNumber}
注释:
{{Comment}
因此,上面的样式化代码在Chrome、Safari和Firefix上的我的联系人表单中以下拉列表的形式非常整齐地显示枚举。我遇到的问题是所选值,我似乎无法访问下拉列表中所选的值并将其添加到单击“提交”按钮时显示的模板(提交后)中。在Angular 4.3中,是否有一个方法.Selected()可以与枚举一起使用以将所选值放入变量?看起来您使用的是ReactiveForms,但您没有一个
FormControl
来保存select的值
this.rForm = this.formBuilder.group({
'select': []
...
});
对于html
<select formControlName="select">
...
</select>
您需要使用formControlName或双向绑定[(ngModel)]字符串枚举是在TypeScript 2.4中引入的。好了,Angular仍然不支持2.4。你敢打赌Chris。。我尝试了一百万种方法让它工作,并且知道(像往常一样..哈哈)它可以归结为一两行代码。。。我传递了提交的枚举类型
this.contactType[this.rForm.get('select').value]
转换为字符串值,并将其传递到post对象中,它将起到处理作用!还添加了formControlName
,因为我昨天已将其取出一百万次并将其还原。枚举现在在Chrome、Safari和Firefox中工作,但在Chrome和Firefox中,默认的“选择一个”值不会显示为默认的下拉值。在完成前端后,如果我有时间的话,将再次访问此。。非常感谢你的帮助,兄弟!非常感谢!谢谢亚科夫提供的信息。。我让它按照上面的工作,但这是一个真正的麻烦。。。需要一个专用的enumHelperClass(),包括字符串枚举。。在我看来,字符串枚举太有用了,不能满足框架级别的需要。NET在Razor中有一个很好的类,用于处理MVC5.1之后的枚举,例如@Html。枚举(…)
this.rForm = this.formBuilder.group({
'select': []
...
});
<select formControlName="select">
...
</select>
this.contactType[this.rForm.get('select').value];