我如何在 angular 中创建它?

How can i create this in angular?

enter image description here 我试着制作这个 mat-list 。但我还必须在其中添加分页、搜索和过滤。 任何帮助将不胜感激。

如果不共享代码很难为您提供帮助,但我会尽力的。 首先在 component.ts 中初始化分页器数据并创建一个函数来处理事件:

myData : MyDataType[] = [];

  //set your own data
  length = 100;
  pageSize = 10;
  pageSizeOptions: number[] = [5, 10, 25, 100];
  pageIndex = 0;
  // MatPaginator Output
  pageEvent: PageEvent;

handlePageEvent( event:PageEvent) {
  this._api.getDataFromServer(event.pageIndex, event.pageSize).subscribe(
    (res: MyDataType[])=>{
      //assign obtained data to an array for example
      this.myData = res;
    },
    (err)=>{handleError(err);}
  )
  
  
  
 //interface
 export interface MyDataType{
  id : number;
  img: string;
  title: string;
  description: string;
  }

然后在您的视图中添加分页器。当用户改变index,或者paginator的每属性个,发起http请求获取数据。一些后端语言支持分页(例如 Springboot with Jpa Repository)。

<mat-list-item *ngFor="let data of myData">
  <h1 mat-line>{{data.title}}</h1>
  <div mat-line>{{data.description}}</div>
  <!-- insert your own data -->
</mat-list-item>

<mat-paginator [length]="length"
               [pageSize]="pageSize"
               [pageSizeOptions]="pageSizeOptions"
               [pageIndex]="pageIndex"
               (page)="handlePageEvent($event)">
</mat-paginator>