使用基于 ion-select 中的值的名称填充离子列表
populate an ion-list with names based on value in ion-select
我正在尝试使用取决于组合框 (ion-select
/ion-option
) 的选择的名称来填充列表。每次选择一个选项时,列表都需要清空并用新列表填充。
加载视图时,它是从侧面菜单选项加载的,ion-select
填充了从网络服务填充的数组中的项目;这完全符合预期。
当用户选择其中一个选项时,ion-list
需要从单独的网络服务中填充; 这就是我的问题所在。
选择该选项后,它会调用一个函数,在函数内部 console.log();
正确打印数组,但是列表中没有填充数组中的项目。
由于除列表之外的所有内容都正常工作并且没有错误出现,我将只提供视图和控制器的代码片段。
HTML
<ion-content padding>
<ion-item>
<ion-label>view names</ion-label>
<ion-checkbox color="danger" checked="false"></ion-checkbox>
</ion-item>
<ion-list>
<ion-item>
<ion-label>SELECT A DEPT</ion-label>
<ion-select>
<ion-option *ngFor="let dept of myDept" (ionSelect)="getEmpNames('20180101', '46')">{{dept.deptName}}</ion-option>
</ion-select>
</ion-item>
</ion-list>
<button ion-button>confirm</button> //currently unused
<ion-list>
<ion-item *ngFor="let name of nameList">
<p>{{name.empName}} {{name.empSurname}}</p>
<ion-toggle enabled checked="false"></ion-toggle> //currently unused
</ion-item>
</ion-list>
</ion-content>
.TS
getEmpNames(DATE:string, dID: string) {
this.capTeams.getConfirmedPlayerList(DATE, TID, GID).subscribe(
data => {
this.nameList = data.employees;
console.log('list of employee names');
console.log(this.nameList);
}
)
}
console.log(this.nameList);
在控制台中显示数组 window 但离子列表不打印名称。
请注意: 因为我自己开发每个页面,所以我强制将虚拟数据放入函数中,因为我知道会发生什么,每个函数打印整个 api 我可以点击并验证任何内容。
摘自package.json
"dependencies": {
"@angular/common": "5.0.3",
"@angular/compiler": "5.0.3",
"@angular/compiler-cli": "5.0.3",
"@angular/core": "5.0.3",
"@angular/forms": "5.0.3",
"@angular/http": "5.0.3",
"@angular/platform-browser": "5.0.3",
"@angular/platform-browser-dynamic": "5.0.3",
"@ionic-native/core": "4.4.0",
"@ionic-native/splash-screen": "4.4.0",
"@ionic-native/status-bar": "4.4.0",
"@ionic/storage": "2.1.3",
"ionic-angular": "3.9.2",
"ionicons": "3.0.0",
"rxjs": "5.5.2",
"sw-toolbox": "3.6.0",
"zone.js": "0.8.18"
}
我希望这些信息足够了,如果不够,请询问任何具体信息。
任何 assistance/solutions 将不胜感激。
提前致谢。
问题是,如果您想在列表中使用 ion-toggle,您 必须 将您的值包装在 ion-label 中,否则它们根本不会显示。
删除 <ion-toggle>
或将您的 <p>
标签更改为 <ion-label>
,您的值将会显示。
我正在尝试使用取决于组合框 (ion-select
/ion-option
) 的选择的名称来填充列表。每次选择一个选项时,列表都需要清空并用新列表填充。
加载视图时,它是从侧面菜单选项加载的,ion-select
填充了从网络服务填充的数组中的项目;这完全符合预期。
当用户选择其中一个选项时,ion-list
需要从单独的网络服务中填充; 这就是我的问题所在。
选择该选项后,它会调用一个函数,在函数内部 console.log();
正确打印数组,但是列表中没有填充数组中的项目。
由于除列表之外的所有内容都正常工作并且没有错误出现,我将只提供视图和控制器的代码片段。
HTML
<ion-content padding>
<ion-item>
<ion-label>view names</ion-label>
<ion-checkbox color="danger" checked="false"></ion-checkbox>
</ion-item>
<ion-list>
<ion-item>
<ion-label>SELECT A DEPT</ion-label>
<ion-select>
<ion-option *ngFor="let dept of myDept" (ionSelect)="getEmpNames('20180101', '46')">{{dept.deptName}}</ion-option>
</ion-select>
</ion-item>
</ion-list>
<button ion-button>confirm</button> //currently unused
<ion-list>
<ion-item *ngFor="let name of nameList">
<p>{{name.empName}} {{name.empSurname}}</p>
<ion-toggle enabled checked="false"></ion-toggle> //currently unused
</ion-item>
</ion-list>
</ion-content>
.TS
getEmpNames(DATE:string, dID: string) {
this.capTeams.getConfirmedPlayerList(DATE, TID, GID).subscribe(
data => {
this.nameList = data.employees;
console.log('list of employee names');
console.log(this.nameList);
}
)
}
console.log(this.nameList);
在控制台中显示数组 window 但离子列表不打印名称。
请注意: 因为我自己开发每个页面,所以我强制将虚拟数据放入函数中,因为我知道会发生什么,每个函数打印整个 api 我可以点击并验证任何内容。
摘自package.json
"dependencies": {
"@angular/common": "5.0.3",
"@angular/compiler": "5.0.3",
"@angular/compiler-cli": "5.0.3",
"@angular/core": "5.0.3",
"@angular/forms": "5.0.3",
"@angular/http": "5.0.3",
"@angular/platform-browser": "5.0.3",
"@angular/platform-browser-dynamic": "5.0.3",
"@ionic-native/core": "4.4.0",
"@ionic-native/splash-screen": "4.4.0",
"@ionic-native/status-bar": "4.4.0",
"@ionic/storage": "2.1.3",
"ionic-angular": "3.9.2",
"ionicons": "3.0.0",
"rxjs": "5.5.2",
"sw-toolbox": "3.6.0",
"zone.js": "0.8.18"
}
我希望这些信息足够了,如果不够,请询问任何具体信息。 任何 assistance/solutions 将不胜感激。 提前致谢。
问题是,如果您想在列表中使用 ion-toggle,您 必须 将您的值包装在 ion-label 中,否则它们根本不会显示。
删除 <ion-toggle>
或将您的 <p>
标签更改为 <ion-label>
,您的值将会显示。