在Ionic3

时间:2018-03-07 08:01:00

标签: angular typescript ionic-framework ionic3

我正在尝试在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>

无法弄清楚问题。

1 个答案:

答案 0 :(得分:0)

我认为你不应该自己解雇行动表。如果您只是将属性role添加到具有隐藏text属性的对象,则它将充当取消按钮。

{
     text: 'Hide',
     role: 'cancel'
     handler: () => {
          let navTransition = actionSheet.dismiss();
          return false;
     }
}

编辑:我不小心发布了答案,但它没有为您的问题提供解决方案。你能告诉我们更多信息吗?你是如何调用createactions方法

的?