Суть в чем - создал компонент. Необходимо использовать фукнцию render, так как возможностей template не хватает (сложная логика рендеринга). Столкнулся с тем, что, когда пытаюсь через свойства передать некий текст для отображения - все нормально до тех пор, пока не использую html entities и просто html. Это в случае рендеринга по шаблону, предложенному в документации
render: function (createElement) {
return createElement('div', {}, ['blabla']) // нормально
}
render: function (createElement) {
return createElement('div', {}, ['blabla ']) //ненормально (для меня), прямо так и выводит
}
Чтобы вывести html, можно использовать domProps
render: function (createElement) {
return createElement('div', {domProps:{innerHTML:'blabla '}}, []) //нормально
}
и все бы ничего, но в таком варианте полученный vnode оказывается последним - все дочерние элементы просто пропадают, то есть такая конструкция
render: function (createElement) {
return createElement('div', {domProps:{innerHTML:'blabla '}}, [
createElement('div', 'child div1'),
createElement('div', 'child div2'),
])
}
не выведет два дива в корневом. Как это объехать? Чтобы и html можно было использовать и дочерние элементы не терялись? Можно, конечно, извращаться путем вложения лишних тэгов span, но хотелось бы избежать лишних элементов.
Пример
здесь