A想可视化MapQuickItem取决于条件。
我有两个自定义对象 ClusterMarker (是矩形)和 PromotionMarker (是一个图像对象)。我想使用sourceItem属性将它们分配给MapQuickItem(这是MapItemView的委托)。
这是我的做法:
MapItemView
{
id: promMarkersView
...
delegate: MapQuickItem
{
id: promMarkersDelegate
coordinate: QtPositioning.coordinate(lat, lon)
sourceItem: cntOfChilds ? ClusterMarker {id: c} : PromotionMarker {id: p}
...
}
}
但是现在我遇到两个错误。第一个指向{id: c}
的第一个括号:预期标记':',第二个指向:
非预期的标记':'
进行此分配的正确方法是什么?
答案 0 :(得分:0)
我不确定这是否是最好的方法,但似乎可行。
从组件动态创建项目:
import { NgForm } from '@angular/forms';
....
....
onSubmit(form: NgForm){
console.log(form.value);
var formData = new FormData();
formData.append('mycustom', "custom");
for(let eachField in form.value)
{
formData.append(eachField,form.value[eachField]);
}
console.log(formData);
}
并将您的项目指定为“组件”,例如:
...
sourceItem: index % 2 ? mapItemDelegate1.createObject() : mapItemDelegate2.createObject()
Component.onDestruction: sourceItem.destroy();
...
答案 1 :(得分:0)
最好的方法是使用Loader
:
MapItemView {
id: promMarkersView
...
delegate: MapQuickItem {
id: promMarkersDelegate
coordinate: QtPositioning.coordinate(lat, lon)
sourceItem: Loader {
sourceComponent: cntOfChilds ? c : p
}
...
}
Component {
id: c
ClusterMarker {}
}
Component {
id: p
PromotionMarker {}
}
}