我有一个网络服务获取国家和每个国家/地区内的服务,所以我想做选择选项让用户能够选择国家或服务
我想这样做
<select [(ngModel)]="countries" (ngModelChange)="onChange($event)" >
<option *ngFor="let c of countries" [ngValue]="c">{{c.nom}} </option>
<option *ngFor="let service of services" [ngValue]="service"> {{service.nom}} </option>
</select>
来自网络服务我得到这个[国家]和console.log当我点击国家时我获得国家列表和内部服务列表
使用此代码我获得国家和最后的服务:(,我认为我需要两个因为数组内部阵列,但我不知道如何做到这一点,所以任何人都可以帮助我解决这个问题,并感谢< BR />
答案 0 :(得分:1)
要实现您的目标,您应该使用optgroup。
例如:
<optgroup *ngFor="let obj of arr" [label]="obj.PROP">
<option *ngFor="let nestedObj of obj.nestedArray">{{nestedObj.PROP}}</option>
</optgroup>
在您的情况下,它将如下:
<optgroup *ngFor="let c of countries" [label]="c.nom">
<option *ngFor="let service of c.services" [ngValue]="service">{{service.nom}}</option>
</optgroup>
答案 1 :(得分:-1)
尝试将您的国家/地区和服务映射到新数组:
QWidget
然后在你的模板中:
class hijaSub1(QtWidgets.QWidget, Ui_subVen1):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent=parent)
self.setupUi(self)
def closeEvent(self, event):
print("X is clicked: hijaSub1")
class hijaSub2(QtWidgets.QWidget, Ui_subVen2):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent=parent)
self.setupUi(self)
def closeEvent(self, event):
print("X is clicked: hijaSub2")
class multiVen(QtWidgets.QMainWindow):
def __init__(self,parent=None):
QtWidgets.QWidget.__init__(self,parent=None)
self.ui =Ui_ventanaPrincipal()
self.ui.setupUi(self)
self.subV1=hijaSub1()
self.subV2=hijaSub2()
#Conect signals whith slots--------------------
self.ui.buttonVentana1.clicked.connect(self.muestraVentana1)
self.ui.buttonVentana2.clicked.connect(self.muestraVentana2)
# slots-----------------------------------------
def muestraVentana1(self):
self.subV1.show()
def muestraVentana2(self):
self.subV2.show()
#Close all windows whith X button of main window
#override main closeEvent
def closeEvent(self, event):
self.subV1.close()
self.subV2.close()
event.accept()
if __name__=="__main__":
import sys
app=0
app=QtWidgets.QApplication(sys.argv)
myapp=multiVen()
myapp.show()
sys.exit(app.exec_())
我希望这会对你有所帮助。