我正在尝试在ionic3应用程序中基于某些属性(如名称,完整,不完整等)实现数据排序。我已经为此实现了Actionsheet
,但它似乎不适用于第一次点击。但是这可以在以后clicks.below是.ts
文件的代码供参考。
sort(property){
this.isDesc = !this.isDesc; //change the direction
this.column = property;
let direction = this.isDesc ? 1 : -1;
this.dataList.sort(function(a, b){
console.log(a);
if(a[property] < b[property]){
return -1 * direction;
}
else if( a[property] > b[property]){
return 1 * direction;
}
else{
return 0;
}
});
console.log(this.dataList);
};
createactions(){
let actionSheet = this.actionSheetCtrl.create({
title: 'Action Sheet Title',
buttons: [
{
text: 'Sort By Completed',
handler: () => {
this.sort('complete');
}
},
{
text: 'Sort By Incomplete',
handler: () => {
this.sort('incomplete');
}
},
{
text: 'Sort By Name',
handler: () => {
this.sort('VillageName');
}
},
{
text: 'Hide',
handler: () => {
let navTransition = actionSheet.dismiss();
return false;
}
}
]
});
actionSheet.present();
}
根据要求,调用createactions()
的代码如下
<ion-fab right bottom>
<button ion-fab (click)="createactions()">
<ion-icon name="stats"></ion-icon>
</button>
</ion-fab>
无法弄清楚问题。
答案 0 :(得分:0)
我认为你不应该自己解雇行动表。如果您只是将属性role
添加到具有隐藏text
属性的对象,则它将充当取消按钮。
{
text: 'Hide',
role: 'cancel'
handler: () => {
let navTransition = actionSheet.dismiss();
return false;
}
}
编辑:我不小心发布了答案,但它没有为您的问题提供解决方案。你能告诉我们更多信息吗?你是如何调用createactions
方法