Обрабатывать неопределенные значения в массиве объектов docXTemplater или javascript

У меня есть массив объектов, который будет экспортирован в документ Word через DocXTemplater

Образец массива

[
{Name:"jon doe",age:27}
{Name:"joe roe",age:27,Address:"new jersey"}
]

Теперь DocXTemplate будет

{#arrayVarName}{Name},{age},{Address}{/arrayVarName}

Это будет выводить,

Jon,27,undefined
Joe,27,new jersey

Теперь я хочу отфильтровать все неопределенные и заменить их либо пустой строкой, либо некоторой пользовательской строкой, как это можно сделать в DocXTemplater, или можно заменить все неопределенные в массиве объектов пользовательской строкой?

4 ответа

Решение

Теперь вы можете настроить этот параметр глобально:

https://github.com/open-xml-templating/docxtemplater/blob/bf51212c9821e40a9c3d18235427796df64d6bcb/docs/source/configuration.rst#nullgetter

doc=new DocxGen(content);
doc.setOptions({nullGetter: function() {
   return ""; 
}});

Начиная с Docxtemplater V4, вам не следует использовать это:

doc.setOptions({...})

Вместо этого вы должны указать параметры во время создания документа:

const doc = new Docxtemplater(zip, {nullGetter() { return ''; }});

Используйте угловой синтаксический анализатор для устранения неопределенного или нулевого

expressions= require('angular-expressions')
angularParser= function(tag){
    expr=expressions.compile(tag);
    return {get:expr};
}

Установите парсер, используя код ниже

    doc=new DocxGen(content)
    doc.setOptions({parser:angularParser})

В шаблоне используйте код ниже

{#value!=undefined}{value}{/value!=undefined}

Я пытался справиться с этим с помощью doc.setOptions (), но имел эту ошибку:

setOptions() не следует вызывать вручную при использовании конструктора v4

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

      doc=new window.docxtemplater(zip, {nullGetter() { return ''; }});

Спасибо Dorpaxio. Но в моем случае это не сработало с:

      const doc = new Docxtemplater();
Другие вопросы по тегам