【问题标题】:How to place data in item divider in ionic 5如何将数据放在离子5中的项目分隔符中
【发布时间】:2021-02-09 11:37:32
【问题描述】:

我正在尝试将我从 API 调用的数据放置到由 ion-item-divider 组成的列表中并在实际内容下方,我想对该数据进行排序并根据 ion-item-divider 放入列表中.以下是我的参考代码。

store.pages.ts

    getAllStores(){
        this.dataservice.getAllStores().subscribe(res=>{
          this.data = res;
          console.log(this.data);
    
        })
      }

store.page.html

    <ion-content>
      <ion-grid>
        <ion-row *ngFor="let obj of dataArray">
          <ion-col size="2">
            <ion-item-divider color="primary" (click)="filterPopover()">
              <ion-label class="ion-text-center">
                {{obj}}
              </ion-label>
            </ion-item-divider>
          </ion-col>
          <ion-col size="10">
            <ion-list *ngFor="let store of data">
              <ion-item button>
                <img src="../assets/brand/1mg.png" alt="" width="60px" height="60px">
                <ion-label>
                  <div class="list-container">
                    <h1>{{store.title}}</h1>
                    <p>
                      <ion-icon name="gift"></ion-icon> Rs {{store.cback}} cashback
                    </p>
                  </div>
                </ion-label>
              </ion-item>
            </ion-list>
          </ion-col>
        </ion-row>
        </ion-grid>
    </ion-content>

【问题讨论】:

  • 你能解释一下你想要什么排序吗?并分享您的示例数据。
  • [{title:abc, cback:2},{title:oiuts, cback:2},{title:sdcsd, cback:2},{title:iyert, cback:2},{ title:ueruy, cback:2},{title:nbvc, cback:2}] 这是示例数据,我只想显示联系人列表的含义,例如:A = abc, anhd, aied, B=byhfd, bkjhjhs, bjhdbsd .使用 ion-item-divider 'A' 应该首先出现,然后当从 a 开始的数据结束时,属于它的数据接下来会出现,然后 'B' 数据应该显示@NajamUsSaqib

标签: angular laravel list api ionic-framework


【解决方案1】:

您可以使用.sort() 函数对数组进行排序。

html:

<ion-grid>
        <ion-row *ngFor="let obj of dataArray">
          <ion-col size="2">
            <ion-item-divider color="primary" (click)="filterPopover()">
              <ion-label class="ion-text-center">
                {{obj.title}}
              </ion-label>
            </ion-item-divider>
          </ion-col>
          <ion-col size="10">
            <ion-list *ngFor="let store of dataArray">
              <ion-item button>
                <img src="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_92x30dp.png" alt="" width="60px" height="60px">
                <ion-label>
                  <div class="list-container">
                    <h1>{{store.title}}</h1>
                    <p>
                      <ion-icon name="gift"></ion-icon> Rs {{store.cback}} cashback
                    </p>
                  </div>
                </ion-label>
              </ion-item>
            </ion-list>
          </ion-col>
        </ion-row>
      </ion-grid>

.ts

this.yourDataFromApi = [
      {title:"abc", cback:2},
      {title:"oiuts", cback:2},
      {title:"sdcsd", cback:2},
      {title:"iyert", cback:2},
      {title:"ueruy", cback:2},
      {title:"nbvc", cback:2}
    ];
    this.dataArray = this.yourDataFromApi.sort((a, b) => a.title.localeCompare(b.title));

【讨论】:

  • 非常感谢您的解决方案,我几乎解决了,我会尝试您的解决方案也感谢您的回复@NajamUsSaqib
猜你喜欢
  • 2017-05-13
  • 2020-01-10
  • 2021-03-01
  • 2021-12-10
  • 1970-01-01
  • 2015-02-21
  • 1970-01-01
  • 1970-01-01
  • 2015-12-02
相关资源
最近更新 更多