在星云树网格中,如何添加未真正链接到数据的自定义列?例如:添加、编辑、删除列。我刚刚将它们分配给我的类的属性(参考、城市、地址),但是如果类定义没有“备用”属性怎么办?如何添加额外的列?
在 treegrid.component.ts 中:
nameColumn = 'name';
editColumn = 'ref';
addColumn = 'city';
deleteColumn = 'address';
defaultColumns = [ 'description' ];
allColumns = [ this.nameColumn, ...this.defaultColumns, this.editColumn, this.addColumn, this.deleteColumn ];
headers = ['Name', 'Description', 'Edit', 'Add', 'Delete'];
Run Code Online (Sandbox Code Playgroud)
在 treegrid.component.html 中:
<table [nbTreeGrid]="datasource" [nbSort]="datasource" (sort)="updateSort($event)">
<tr nbTreeGridHeaderRow *nbTreeGridHeaderRowDef="allColumns"></tr>
<tr nbTreeGridRow *nbTreeGridRowDef="let row; columns: allColumns"></tr>
<ng-container [nbTreeGridColumnDef]="nameColumn">
<th nbTreeGridHeaderCell [nbSortHeader]="getSortDirection(nameColumn)" *nbTreeGridHeaderCellDef>
{{headers[0]}}
</th>
<td nbTreeGridCell *nbTreeGridCellDef="let row">
<mybe-fs-icon [children]="row.children" [expanded]="row.expanded"></mybe-fs-icon>
{{row.data[nameColumn]}}
</td>
</ng-container>
<ng-container *ngFor="let column of defaultColumns; let index = index" …Run Code Online (Sandbox Code Playgroud) 尝试为我的 nestjs 应用程序编写测试脚本。
我有控制器/服务框架,看起来像这样:
控制器:
export class MyController {
constructor(
protected _svc: MyService
) {}
@Get()
async getAll(): Promise<Array<Person>> {
return await this._svc.findAll();
}
}
Run Code Online (Sandbox Code Playgroud)
服务:
@Injectable()
export class MyService extends DbService < Person > {
constructor(
private _cache: CacheService
) {
super(...);
}
async findAll() {
return super.findAll().then(res => {
res.map(s => {
this._cache.setValue(`key${s.ref}`, s);
});
return res;
});
}
Run Code Online (Sandbox Code Playgroud)
基类:
@Injectable()
export abstract class DbService<T> {
constructor() {}
async findAll(): Promise<Array<T>> {
...
}
}
Run Code Online (Sandbox Code Playgroud)
我的控制器是在 API 上调用端点时的入口点。这调用了扩展 …