«data.replace не является функцией» при форматировании данных в DataTables - PullRequest
1 голос
/ 21 июня 2019

enter image description here Я отображаю результаты Solr в Datatable, используя jQuery.Данные выглядят примерно так:

vim_name: "CEE"
vim_release: "6.6.1"
vnf_information:"[Ericsson<>FGC 101 127<>R1A]|[Ericsson<>vSAPC<>1.3]|[Ericsson_vSGSN-MME_v1.2399999]"

Я попытался отобразить их в виде данных следующим образом:

{
  "data": "vnf_information", 
  render: (data, type, row, meta) => data ? data.replace(/|/g, '<br>') : ''
}

Однако выдает ошибку:

data.replace не является функцией

Я хотел бы напечатать вывод в следующем формате.Как мне этого добиться?

VNF Information
Ericsson_ FGC 101 127_R1A
Ericsson_vSAPC_1.3
Ericsson_vSGSN-MME_v1.2399999

Пожалуйста, смотрите ниже, как данные поступают в рендере.

enter image description here

1 Ответ

0 голосов
/ 21 июня 2019

Учитывая второй снимок экрана, кажется, data - это массив, а ожидаемая строка - это первое значение в этом массиве. Поэтому, чтобы исправить ошибку, вам нужно просто получить доступ к массиву data по индексу.

Также обратите внимание, что вам нужно будет экранировать оператор канала в регулярном выражении, так как оно имеет особое значение. Попробуйте это:

{
  "data": "vnf_information", 
  render: (data, type, row, meta) => data ? data[0].replace(/\|/g, '<br>') : ''
}

Обратите внимание на добавление [0]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...