2016-02-29 3 views
1

Я играл с системой Entity в Draft.js. Одно ограничение, которое я вижу, заключается в том, что сущности должны соответствовать диапазону текста в содержимом, в которое они вставляются. Я надеялся, что смогу создать объект с нулевой длиной, который будет иметь дисплей, основанный на данных в сущности, а не на текстовом содержимом в блоке. Это возможно?Текст внутри объектов в Draft.js

ответ

1

Это возможно, когда у вас есть целый блок. Как вы можете видеть в примере кода, эта сериализованная blockMap содержит блок, не содержащий текста, но в списке символов есть одна запись с прикрепленной к ней сущностью. Также обсуждается вопрос о добавлении метаданных в блок. см https://github.com/facebook/draft-js/issues/129

"blockMap": { 
    "80sam": { 
    "key": "80sam", 
    "type": "sticker", 
    "text": "", 
    "characterList": [ 
     { 
     "style": [], 
     "entity": "1" 
     } 
    ], 
    "depth": 0 
    }, 
}, 
+0

Можно ли тогда для этого объекта к - к примеру - показывать как «Foo», даже если текст блока пуст? – zachberry

+0

совершенно! см. здесь, как это делается: https://facebook.github.io/draft-js/docs/advanced-topics-block-components.html#custom-block-components –

Смежные вопросы