我试图将这两个语句都包含在此映射中,一个可以获取我需要的运算符,另一个可以通过推入值来实现。我很困惑为什么我会收到此特定错误。它在“ this.DataSourceFilters”上出错了
Type 'void[]' is not assignable to type 'FilterExpression[]'.
Type 'void' is not assignable to type 'FilterExpression'.ts(2322
DataSourceFilters: Array<FilterExpression>;
constructor(filterDefinitionModel?: FilterDefinitionModel) {
if (filterDefinitionModel.DataSourceFilters) {
this.DataSourceFilters = filterDefinitionModel.DataSourceFilters.map(
(filter) => {
const fe = new FilterExpression(this.logicalOperator);
fe.FilterOptions.push(new FilterOption(filter.PropertyPath, filter.FilterOperation, filter.Values));
}
// f.PropertyPath, f.FilterOperation, f.Values
);
}
答案 0 :(得分:1)
在包含在map中的函数的末尾,您可以添加return fe
。
我看到人们经常对lambda感到困惑。如果您正在执行类似map(filter => new FilterExpression(this.logicalOperator))
的操作,则此语法将自动返回过滤器表达式。由于您需要执行额外的步骤,因此需要显式返回一些内容。