我正在尝试创建一个函数,该函数返回数组类型为Sub test()
Dim c As Long
With Sheet1
c = .Cells(5, Columns.Count).End(xlToLeft).Column 'returns 3 if last column is C
With Range(.Cells(5, c), .Cells(14, c))
.Copy .Offset(, 1)
End With
End With
End Sub
的可观察数组和可选的附加元素(如果提供)
Timeformat
但是,systemFormats: Timeformat[] = [
new Timeformat('d/b/Y:T', "%d/%b/%Y:%T"),
new Timeformat('Y-m-d T', "%Y-%m-%d %T"),
new Timeformat('d.m.Y', "%d.%m.%Y"),
];
public getSystemFormats$(): Observable<Timeformat> {
return from(this.systemFormats);
}
public getCandidates$(customFormat?: Timeformat) {
return merge(this.getSystemFormats$, from([customFormat]))
.pipe(
map(f => {
console.log(f.label);
})
)
}
似乎返回了错误的类型,因为出现以下错误:
“未知”类型不存在属性“标签”
我尝试了几种不同的方法将合并结果转换为Observable.merge
,但这无济于事。
答案 0 :(得分:1)
问题出在参数customFormat?
public getCandidates$(customFormat?: Timeformat) {
return merge(this.getSystemFormats$, from([customFormat]))
.pipe(
map(f => {
console.log(f.label);
})
)
}
通过添加问号,结果为customFormat或为空,这将使您无法输入。
尝试一下:
.pipe(
filter(Boolean),
map(f: customFormat => {
console.log(f.label);
})
或者,如果您真的不需要它,请从参数中删除?
。