渲染" custom"的一个副作用。字段是全局搜索不再能够在其中工作。我相信这是因为单元格以json对象开始,然后我在该对象中只渲染一个字符串。因此,全球搜索无法进入。我基本上循环遍历对象列表,然后显示该对象的单个属性(字符串)以显示在该单元格中。不幸的是,所有这些文本对全局搜索都是不可见的。有没有办法可以将自定义渲染文本添加到全局搜索?我已经包含了渲染组件的代码:
@Component({
selector: 'scope-renderer',
template: `
<ul class="list-unstyled">
<li *ngFor="let scope of scopes">
{{ scope.displayName }}
</li>
</ul>
`
})
export class ScopeRendererComponent implements OnInit {
@Input() rowData: any;
scopes: Array<Scope>;
ngOnInit() {
this.scopes = this.rowData.scopes;
}
}
class Scope {
name: string;
displayName: string;
description: string;
required: boolean;
emphasize: boolean;
showInDiscoveryDocument: boolean;
}
答案 0 :(得分:1)
这里有一个错误:https://github.com/akveo/ng2-smart-table/blob/master/src/ng2-smart-table/lib/data-source/local/local.filter.ts#L11将“”作为单元格值提供给任何非基本属性的filterFunction。
我所做的就是攻击组件(上面的链接),如下所示:
return data.filter(function (el) {
//var value = typeof el[field] === 'undefined' || el[field] === null ? '' : el[field];
return filter.call(null, el, search);
});
并将整个元素传递给过滤器。然后,我在filterFunction中拥有该项的完整内容。
filterFunction(el?: any, search?: string): boolean {
return true;
}
对我来说效果很好。