我正在尝试手动实现默认字体,因为没有直接的方法。我不能将 p 标签 CSS 编辑为某种字体,因为我想保持以前的文本相同,只应默认新文本。
例如我有这样的代码:
editor.model.document.on('change:data', event => {
if (element.firstChild.nodeName === 'BR') {
element.setAttribute('style', 'font-family:Helvetica;font-size:24px');
}
})
在编辑器和 DOM 中,这有效。但是,当我调用 editor.getData() 时,字体系列和字体大小不存在。我相信这是因为模型或视图剥离了属性。我不确定我将如何做到这一点,以便属性保留在模型/视图中并更新 getData。
我试过向上转型和向下转型,但没能成功。我不确定我做对了还是真的需要。我也尝试过使用 writer 和类,但是没有看到 getData() 中的变化或者当我打开 Inspector
editor.conversion.for('upcast').attributeToAttribute({
view: {
key: 'font-family'
},
model: {
key: 'fontFamily',
value: true,
},
});
editor.conversion.for('downcast').attributeToAttribute( {
model: 'font-family',
view: {
key: 'style',
value: viewWriter => (attributeValue, viewElement) => {
viewWriter.setStyle('font-family', attributeValue, viewElement);
},
},
});
我将如何着手让 getData 反映我在 UI/DOM 中的更改?请和谢谢