【问题标题】:multiple mat-select from JSON data从 JSON 数据中选择多个 mat-select
【发布时间】:2019-02-20 20:42:44
【问题描述】:

我有一个 Angular 6 应用程序,它根据地区选择一个城市(我称之为西班牙语 corregimiento),并根据省份选择地区 this JSON file.

  <!-- ***************SELECT Province *************** -->     
<mat-form-field>
    <mat-select placeholder="Provincia" [(ngModel)]="selectedProvince" name='shit' [(value)]="sltdProv">
      <mat-option *ngFor="let item of datas" [value]="item.distritos" >
        {{ item.name }}
      </mat-option>
    </mat-select>
  </mat-form-field>
  <!-- ***************SELECT District *************** -->
  <mat-form-field *ngIf='selectedProvince'>
    <mat-select placeholder="Distrito" [(ngModel)]="selectedDistr" name='District'>
      <mat-option *ngFor="let distrito of sltdProv" [value]="distrito.corregimientos">
        {{ distrito.name }}
      </mat-option>
    </mat-select>
  </mat-form-field>
  <!-- ***************SELECT City *************** -->
  <mat-form-field *ngIf='selectedDistr && selectedProvince'>
    <mat-select placeholder="Corregimiento" [(ngModel)]="selectedCorr" name='Corr'>
      <mat-option *ngFor="let sub of selectedDistr" [value]="sub.name">
        {{ sub.name }}
      </mat-option>
    </mat-select>
  </mat-form-field>

在组件文件中我有:

selectedProvince: string;
selectedDistr: string;
selectedDistrict: string;
datas: any;

ngOnInit() {
const Semester = this.getFile.getJSON();
this.http
  .request("../../assets/jsonFolder/panamaData.json")
  .subscribe((res: Response) => {
    this.datas = res.json().provincia;

这会选择文件中 JSON 的第一个(也是唯一一个)值。这是一个包含 13 个 JSON 对象的数组,每个对象是和省。

我可以在 DOM 上完美实现。但如果我只想将省份名称保存为变量,它会给我 JSON 对象数组。地区也是如此。 唯一好的city,因为它是最后一个字符串。

【问题讨论】:

    标签: angularjs json angular-material angular6 ngfor


    【解决方案1】:

    我在您的 JSON 文件中发现了一些问题。它有重复的“名称”变量

    id:04 -> id:04-1 -> id:04-1-01 
    

    项目。您能否还添加示例 plunker 链接,这将有助于调试问题。

    【讨论】:

    • 谢谢。让我来做一个最小的工作示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 2018-08-07
    • 1970-01-01
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多