如何在Table Reference Widget中显示我的首选列

时间:2017-07-16 11:41:42

标签: servicenow

立即服务 - 服务门户:如何在表格参考窗口小部件中为搜索选项显示名称设置首选列名称。

/* Client Controller */
function ($scope) {
  $scope.table = "my_table";
  $scope.field = {};
  $scope.descriptor = {
    reference: $scope.table,
    attributes: '',
    name: '',
    searchField: 'my_field',
    qualifier: ''
  };
  
  $scope.valueSelected = function() {
    console.log($scope.field);
  }
}
/* Body HTML Template */
<span>
      <sn-reference-picker
        sn-options="{placeholder: 'Search here'}"
                           ed="descriptor"
                           field="field"
                           sn-on-change="valueSelected()" />
    </span>
以上示例来自我的克隆小部件。 让我知道对此的任何建议。 提前致谢!

1 个答案:

答案 0 :(得分:0)

您应该可以使用display-fielddisplay_fieldssearch-fields的组合。可悲的是,缺少关于ServicePortal的文档。

  • display-field:要在记录行上显示的主要字段
  • display-fields:显示在display-field
  • 下方的子字段
  • search-fields:您在框中搜索的字段

尝试这样的方法来测试事件表。

<强>模板

<sn-record-picker
    field="field"
    table="table"
    display-field="'short_description'"
    display-fields="'number,opened_at'" 
    default-query="'active=true'" 
    value-field="'sys_id'"
    search-fields="'number'"
    page-size="100"
    sn-on-change="valueSelected()">
</sn-record-picker>

客户端脚本

function ($scope) {
  $scope.table = "incident";
  $scope.field = {
    displayValue: $scope.data.short_description,
    value: $scope.data.sys_id,
    name: 'field'
    };

  $scope.valueSelected = function() {
    console.log($scope.field);
  }
}

我不确定OOTB版本的ed字段是什么。