angular - 无法设置值以在反应形式中选择
问题描述
我的组件中有一个反应式表单。当组件初始化时,我想将值设置为组件中的选择字段,而不是作为选项。订阅它后从服务器获取的值是可观察的,我想在其中显示该值选择字段作为默认值
我试过
this.formName.get('controlName').setValue('valueFromServer')
和
this.formName.get('controlName').patchValue('valueFromServer')
还有几个stackoverflow解决方案,但这些对我不起作用。这是我的stackblitz示例。谁能告诉我这里有什么问题
解决方案
您正在以正确的方式设置值。
但是正如@Adrita 指出的那样dropdown
,如果值出现在Options
value 属性中,则会选择该值。
看看这个StackBlitz
。
在模板中:
this.tourPageForm.get('accomadation').setValue('valueFromServer'),
在视图中:
<select style="width:100px" formControlName="accomadation" class="form-control border">
<option value="valueFromServer">1</option>
</select>
编辑 :
实际上setValue和patchValue正在工作。检查如下
this.tourPageForm.get('accomadation').setValue('valueFromServer');
this.tourPageForm.get('mealType').setValue('Value recive from Server');
console.log(this.tourPageForm.value)
当您控制台时tourPageForm
,您将获得以下值。
accomadation: "valueFromServer"
mealType: "Value recive from Server"
transportation: ""
这意味着setValue
并且patchValue
正在工作,但dropdown
没有选择表单,因为它们没有出现在Options
.
我希望这有帮助.. :)
推荐阅读
- python - 无法从 TensorFlow 或 Keras 中的 Google Cloud Storage 存储桶加载图像
- javascript - Expo:如何在通过 localhost 访问时修复开发中的 Web 推送通知(以及如何修复 `localhost` 服务工作者)?
- php - 在用户视图中搜索产品 - Cakephp 3
- python - 遇到来自 PyMC3 - Python 3.8.5 的奇怪错误消息
- react-native - 使用 expo 同步与 iOS 日历集成的 React-native 应用程序
- java - PowerMockito 期间方法错误太大
- laravel - Laravel Vapor 部署问题 - ssl 证书所有权
- django - 使用外部 API 的 Django JWT 身份验证
- typescript - 如何确保传递给高阶函数的泛型函数具有 void 返回类型?
- java - Java/JPA/Hibernate 一对一和一对多的实体映射