angular - 离子选择选项不通过 ng-for 检索选项的值
问题描述
我在 IONIC 中构建此应用程序,尝试使用 IONIC GUI 建立下拉选择器,但由于某种原因未检索到 de 值。我获取了一个对象数组,这些对象将被循环以访问其值:
allProdSubtypes=
[
{listOfImages: Array(2), id: 1, productSubType: "Roller Blades"},
{listOfImages: Array(2), id: 2, productSubType: "Traditional Skates"},
{listOfImages: Array(2), id: 3, productSubType: "Mountain Bike"},
{listOfImages: Array(2), id: 4, productSubType: "City Bike"}
{listOfImages: Array(0), id: 5, productSubType: "Not Classified"},
]
IONIC 中的 HTML 标签如下:
<form [formGroup]="createImgForm" (ngSubmit)="createimage($event)">
<ion-item class="form-group col-md-12 mx-auto">
<input type="file" class="form-control" placeholder="Select image" formControlName="url" #imageUpload
(change)="selectImg($event) " accept='image/**'>
</ion-item>
<ion-item>
<ion-label>Select Product Sub Type</ion-label>
<ion-select placeholder="Select Product Sub Type" *ngIf="allProdSubtypes">
<ion-select-option *ngFor="let option of allProdSubtypes" formControlName="productSubTypeId" ngDefaultControl [value]="option.id">{{option.productSubType}}</ion-select-option>
</ion-select>
</ion-item>
<ion-button color="apppersonalized" size="large" type="submit" expand="block">
<h3 style="color:white">create</h3>
</ion-button>
</form>
但是当我调用触发创建的 mtehod 以查看是什么带来了这种形式时,引用绑定 value[value] 的值是 null:
createimage(event) {
const {url, productSubTypeId}= this.createImgForm.value;
console.log(this.createImgForm.value);
}
因此我不知道还能做什么。我曾尝试使用 [ngValue],但 IONIC 不接受它。
我正在使用响应式表单来检索此 html 的值,因此:
import { ModalController } from "@ionic/angular";
import { HttpsService } from "./../../services/https.service";
import { Validators } from "@angular/forms";
import { FormBuilder } from "@angular/forms";
import { FormGroup, FormControl } from "@angular/forms"; //imports
import { Component, OnInit } from "@angular/core";
import { Store } from "@ngrx/store";
import { GlobalAppState } from "src/app/globalReducer.reducer";
import { AllProductsSubType } from "src/app/interfaces/interfaces.interface";
@Component({
selector: "app-create-image-modal",
templateUrl: "./create-image-modal.component.html",
styleUrls: ["./create-image-modal.component.scss"],
})
export class CreateImageModalComponent implements OnInit {
createImgForm: FormGroup;
defaultImage: string = "/assets/defaultUser.png";
allProdSubtypes: any;
constructor(
private formBuilder: FormBuilder,
private httpService: HttpsService,
private mdlCtrl: ModalController,
private stateStore: Store<GlobalAppState>
) {}
ngOnInit() {
this.createImgForm = this.formBuilder.group({
url: ["", Validators.required],
productSubTypeId: [null, Validators.required],
});
}
}
解决方案
我想您应该将您的 formControlName 移动到 ion-select,原因是从要显示在表单构建器上的选项中检索信息的那个。祝你好运
推荐阅读
- python-3.x - 如何合并长度不同的多个二维列表?
- javascript - 我如何在旧的 react render() 函数中使用上下文?
- java - 从 jar 读取图像的问题
- c# - 如何使用 EF Core 恢复迁移历史记录
- python - APScheduler 从系统睡眠唤醒后不会触发作业
- python - 将十进制数从 str 转换为 float
- javascript - Javascript:条件变量声明有更好的简写吗?
- mongodb - 如何更新 Json 代码,而不是工作代码
- python - 电报机器人(pyTelegramBotAPI)不处理新用户加入组
- ruby-on-rails - Dockerized Rails/Postgres 应用程序中的数据库身份验证失败