【发布时间】:2021-05-30 09:37:44
【问题描述】:
我在Angular11 有一个项目,其中包含两个JSON 文件,一个与省有关,另一个与市镇有关,两个文件都由Id 相关,(省的Id 连接到每个文件)他们的自治市)。
我创建了一个form 来选择省份,并根据所选省份选择相应的直辖市之一。我可以毫无问题地选择省,但我不能显示市。
这是我的component.html:
<ng-container>
<div class="formAdd">
<div fxLayout="row wrap" fxLayoutGap="10px">
<mat-form-field fxFlex="20">
<mat-label>Province</mat-label>
<mat-select>
<mat-option *ngFor="let op of provinceArray;">
{{ op.nm }}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field fxFlex="20">
<mat-label>Municipality</mat-label>
<mat-select>
<mat-option>
</mat-option>
</mat-select>
</mat-form-field>
</div>
</div>
</ng-container>
这是我的component.ts:
import municipalityArray from "../municipality.json";
import provinceArray from "../province.json";
export class SidenavAutosizeExample {
selectedProvince = provinceArray[0];
provinceArray = provinceArray;
constructor() {}
}
这是我的province.json:
{
"id": "24",
"nm": "León"
},
{
"id": "34",
"nm": "Palencia"
}
这是我的municipality.json:
{
"id": "24007",
"nm": "Arganza"
}, {
"id": "24008",
"nm": "Astorga"
}, {
"id": "24009",
"nm": "Balboa"
}, {
"id": "24010",
"nm": "Bañeza, La"
}, {
"id": "34001",
"nm": "Abarca de Campos"
}, {
"id": "34003",
"nm": "Abia de las Torres"
}, {
"id": "34004",
"nm": "Aguilar de Campoo"
}, {
"id": "34005",
"nm": "Alar del Rey"
}
我的问题: 当我选择一个省份时,我需要与所选省份相关的城市列表显示在城市选择中。
每个省都有一个 ID (Leon - 24),每个自治市将其所属省的 ID 连接起来 (Arganza - 24007)。
您需要收集所选省份的 ID,在 JSON 中搜索以该 ID 开头的所有城市并在选择中显示它们。有谁知道我该怎么做?
我有以下两个 JSON 文件的示例代码:https://stackblitz.com/edit/material-sidenav-example-4zr4yq?file=municipality.json
【问题讨论】:
-
mat-select有一个selectionChange输出函数material.angular.io/components/select/api你应该在你的第一个选择中使用这个函数,并根据第一个的值过滤第二个选择的内容 -
好的,我刚刚在 mat-select 中添加了 selectionChange:stackblitz.com/edit/…。现在我需要的是能够选择属于所选省份的直辖市
标签: json angular forms angular11