【发布时间】:2017-12-30 04:57:40
【问题描述】:
我有一个包含 Fabrics 数组的 Angular2 网格。这些面料具有颜色或面料类型等属性。现在,网格已将它们全部显示。我需要一些如何为颜色和织物类型设置一系列复选框,以及旁边出现的数量。只有在单击应用过滤器按钮后,网格才会显示过滤后的面料。但是,当一个复选框被选中时,其他复选框的数量会发生变化。
例如
有人可以提供一些关于如何最好地解决这个问题的见解吗?我现在有所有的数据。我会创建一个管道或过滤服务,还是有一个表单?
** 型号 **
ProductConfigurationOption 是选项选择的整体父级。前任。 Fabric 是一个配置选项。
配置选项选择是一种特定的面料,例如 Tan Chenille。一个单独的 ConfigurationOptionChoice 有许多 OptionChoiceProperties。
产品配置选项.ts
import { ProductConfigurationOptionChoice } from './product-configuration-option-choice';
import { IProductConfiguratorOptionChoiceProperties } from '../Interfaces/iproduct-configurator-option-choice-properties';
import { IProductConfigurationOptionChoice } from '../Interfaces/iproduct-configuration-option-choice';
import { IProductConfigurationOption } from '../Interfaces/iproduct-configuration-option';
export class ProductConfigurationOption implements IProductConfigurationOption {
constructor(
public ConfiguratorID: number,
public OptionID: number,
public OptionName: string,
public OptionDescription: string,
public OptionSortOrder: number,
public SKUPartOrdinal: number,
public ProductConfigurationOptionChoice: IProductConfigurationOptionChoice[],
public OptionChoicesProperties: IProductConfiguratorOptionChoiceProperties[]
) {
}
}
product-configuration-option-choice.ts
import { ProductConfiguratorOptionChoiceProperties } from '../Models/product-configurator-option-choice-properties';
import { IProductConfiguratorOptionChoiceProperties } from '../Interfaces/iproduct-configurator-option-choice-properties';
import { IProductConfigurationOptionChoice } from '../Interfaces/iproduct-configuration-option-choice';
export class ProductConfigurationOptionChoice implements IProductConfigurationOptionChoice {
public OptionChoiceID: number;
public OptionID: number;
public OptionValue: string;
public OptionChoiceName: string;
public OptionChoiceDescription: string;
public SKUPart: string;
public ImageURL: string;
public SortOrder: number;
public PriceOffset: number;
public OptionChoiceProperties: IProductConfiguratorOptionChoiceProperties[];
constructor( ){
}
setOptionChoiceProperties(optionProperties: ProductConfiguratorOptionChoiceProperties[]) {
this.OptionChoiceProperties = optionProperties;
}
}
product-configurator-option-choice-properties.ts
import { IProductConfiguratorOptionChoiceProperties } from '../Interfaces/iproduct-configurator-option-choice-properties';
export class ProductConfiguratorOptionChoiceProperties implements IProductConfiguratorOptionChoiceProperties {
constructor(
public OptionChoiceId: number,
public PropertyId: number,
public Name: string,
public Value: string
) {
}
}
目前我正在尝试获取 OptionChoiceProperties 并获取它们的数量并将它们设为复选框。然后尝试弄清楚如何在应用过滤器时动态更改数量 OptionChoiceProperties。
【问题讨论】:
-
管道可能是执行此操作的方法,如果您添加数据示例,我可以创建一个工作管道作为答案
-
请显示一些代码。似乎,可能是,您可以将
Observable字段与async管道一起使用。 -
每厘米我会提供一些代码。
-
当你说你想要一个计数 - 它是一个数组,
ProductConfigurationOptionChoice.OptionChoiceProperties.length是你要找的吗?或者你想要一个具有特定值的OptionChoiceProperties计数? -
您使用的是Reactive Form 还是Template Form?
标签: angular typescript angular2-forms angular2-pipe