首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于所选分幅更改网格列

基于所选分幅更改网格列
EN

Stack Overflow用户
提问于 2019-04-23 22:06:38
回答 1查看 19关注 0票数 0

我正在使用angular应用程序中的一些仪表板组件,我是angular的新手

根据我选择的切片,我的格网需要更改

我当前的代码是

在Component.ts中

代码语言:javascript
复制
    tileId: any = '1';
public appliedcolumns =[{
    name: 'EmployeeId',
    type: 'number',
    sortable: true,
    hidden: false,
    displayName: 'Employee Id'
  },
  {
      name: 'EmployeeName',
      type: 'string',
      sortable: true,
      hidden: false,
      displayName: 'Employee Name',
  },
  {
    name: 'AppliedDate',
    type: 'dateTime',
    sortable: true,
    hidden: false,
    displayName: 'Approved Date',
  }] 

public approvedcolumns =[{
    name: 'EmployeeId',
    type: 'number',
    sortable: true,
    hidden: false,
    displayName: 'Employee Id'
  },
  {
      name: 'EmployeeName',
      type: 'string',
      sortable: true,
      hidden: false,
      displayName: 'Employee Name',
  },
  {
    name: 'ApprovedDate',
    type: 'dateTime',
    sortable: true,
    hidden: false,
    displayName: 'Approved Date',

  }} 
ngOnInit() {
this.getDetails("1");
}

getDetails(tileid: string) {
//getting data from backend
}

//on tile click event sending the new tile id to getdata
onClickMe(tile){
this.getDetails(tileId);
}

Html看起来像

代码语言:javascript
复制
<div class="panel"(click)="onClickMe(tile)"></div>

<div *ngIf="tileId == 1">
        <custum-grid-view class="" [jsonObject]="jsonData" [totalNoOfRecords]="totalNoOfRecords" [gridOptions]="gridOptions" [gridActions]="actions" [staticColumns]="appliedcolumns" (actionsEvent)="actionsEvent($event)"></custum-grid-view>
      </div>
      <div *ngIf="tileId == 2">
        <custum-grid-view class="" [jsonObject]="jsonData" [totalNoOfRecords]="totalNoOfRecords" [gridOptions]="gridOptions" [gridActions]="actions" [staticColumns]="approvedcolumns" (actionsEvent)="actionsEvent($event)"></custum-grid-view>
      </div>

我的所有代码对我来说都工作得很好,但我不希望在代码中出现硬代码值

我的仪表板中有4-5个磁贴,同一个Component.ts中有相同的4-5列对象,如何将它们从y组件中移出并从外部访问

EN

回答 1

Stack Overflow用户

发布于 2019-04-23 22:13:00

如果没有服务器可以向您提供数据,则在Service中移动它们。

然后,您可以利用依赖注入并获得如下数据:

代码语言:javascript
复制
export class YourComponent {
    public appliedcolumns = [];
    public approvedcolumns = [];
    ...
    constructor(private dataService: DataService){
         this.appliedcolumns = this.dataService.getAppliedColumns();
         this.approvedcolumns = this.dataService.getApprovedColumns();
         //...etc
    }   
}

编辑:在服务中,您可以使用一个方法来根据索引检索数据。

代码语言:javascript
复制
// Inside DataService, for applied columns lets say
getAppliedColumnsDetailsByID(id: number){
   return this.appliedcolumns[id] ? this.appliedcolumns[id] : null;
}

您可以对其他数据执行相同的操作,也可以将它们组合到一个函数中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55813128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档