javascript - 如何使用 UI Grid 自定义字段的输出

标签 javascript angularjs angular-ui-grid

我有一组字段或每行看起来像 {inBing:true, inOSM:true, inGoogle:false}。 根据这些,我想将这些值表示为字符串,例如“B O”,这意味着 Bing 和 OSM 已启用,而 Google 未启用。

所以我需要遍历这些字段并构建一个输出字符串。

问题是我可以在UI grid中的哪里放置和调用这个函数?

最佳答案

我会为此使用过滤器。

处理您的数据,使其看起来像:

{ field1: value1, field2: value2, searchFlags: { inBing: true, inOSM: false, inGoogle: true } }
{ field1: value2, field2: value4, searchFlags: { inBing: false, inOSM: true, inGoogle: false } }
...

你的columnDefs如下:

columnDefs: [
  { name: 'field1' },
  { name: 'field2' }, 
  { name: 'searchFlags', cellFilter: 'mapFlags' }
];

最后,定义过滤器:

.filter('mapFlags', function( input ) {
  str = '';
  if (v.inBing) str += 'B ';
  if (v.inOSM) str += 'O ';
  if (v.inGoogle) str += 'G';
  return str;
});

http://ui-grid.info/docs/#/tutorial/201_editable中有一个过滤器的例子

关于javascript - 如何使用 UI Grid 自定义字段的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29501365/

相关文章:

javascript - 如何更改或添加 ID 到 SVG?

javascript - Knockout.JS $element 数据绑定(bind)变量未定义?

html - AngularJS - 使用指令嵌入 Youtube 视频 url 时出现问题

javascript - Angular JS 在 $scope 中执行函数 $timer 收到 TypeError

angularjs - 根据 ui-grid 中的 cellTemplate 设置 csv 导出格式

javascript - 大负载的连接重置错误

javascript - 如何在tensorflow.js中提取张量的值?

javascript - 从 HTML 页面调用时,IFRAME 未加载到父框架中

angularjs - 如何在 ui-grid angularjs 中启用水平滚动条

javascript - Angular UI Grid - 添加或删除列并更新数据