Я изучаю Angular и задаюсь вопросом, как я не могу скрыть какой-то элемент и показать определенные элементы только тогда, когда пользователь выбирает указанный c элемент в раскрывающемся списке.
Например, In На моей странице у меня есть текстовое поле диаграммы, текстовое поле, текстовое поле сетки и раскрывающийся список, содержащий диаграмму, текст и сетку. когда пользователь выбирает текст, я хочу отображать только текстовое текстовое поле и скрывать остальное.
прямо сейчас три варианта типа диаграммы отображаются в раскрывающемся списке, когда я запускаю проект, но он ничего не делает, когда Я выбираю текст, а также у меня появляется ошибка в моем ngIf, говоря, что
«Свойство 'text' не существует для типа 'ChartType'».
Я был бы очень признателен, если бы кто-нибудь научил мне или помогите мне.
У меня проблема в проекте, который я нашел из github, данные для раскрывающегося списка находятся в другом файле с именем chart.model.ts, и он написан так
export class ChartUtil {
public static getChartTypeDisplay(type: ChartType): string {
switch (type) {
case ChartType.chart:
return "Chart"
case ChartType.text:
return "Text";
case ChartType.grid:
return "Grid";
default:
return "unknown";
}
}
}
и отобразить его так
design.component.ts
chartTypes: TypeListItem[] = [];
setupTypes() {
let keys = Object.keys(ChartType);
for (let i = 0; i < (keys.length / 2); i++) {
this.chartTypes.push({ value: parseInt(keys[i]), display: ChartUtil.getChartTypeDisplay(parseInt(keys[i])) })
}
html
<ng-container *ngIf="chart.chartTypes == chartTypes.text">
<mat-form-field appearance="fill">
<mat-label>Text</mat-label>
<input matInput />
</mat-form-field>
Я не могу загрузить полный проект на stackblitz, но я загрузил весь код из этого файла более https://stackblitz.com/edit/angular-ivy-dmf3vn