亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有什么方法可以刪除 Quill 中的特定格式嗎?

有什么方法可以刪除 Quill 中的特定格式嗎?

HUX布斯 2023-09-07 16:10:04
給定Quill 1.3.6其中的自定義格式化程序,是否有任何方法可以以編程方式從整個編輯器中刪除所有自定義格式?換句話說,是否有任何方法可以刪除bold文檔中出現的每個位置的格式?quill.removeFormat()似乎不是這個選項,因為它沒有為您提供按格式過濾器。任何想法?
查看完整描述

3 回答

?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

如果將false值參數傳遞給format函數,則可以刪除特定類型的格式。

例如,format('bold', false)從當前選定的文本中刪除粗體(但沒有其他格式)?;蛘?code>formatText(0, 100, 'bold', false)刪除前 100 個字符的粗體格式。


查看完整回答
反對 回復 2023-09-07
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

我正在使用 npm 包 sanitize-html 做類似的事情。


您的用例的示例:


import sanitizeHtml from 'sanitize-html';

const dirtyText = '<p>My <strong>dirty</strong> text</p>';

const cleanText = sanitizeHtml(dirtyText, {

  exclusiveFilter: (frame) => frame.tag !== 'strong'

});

否則,您可以(我認為更好)列出您允許使用“allowedTags”屬性的標簽:


import sanitizeHtml from 'sanitize-html';

const dirtyText = '<p>My <strong>dirty</strong> text</p>';

const cleanText = sanitizeHtml(dirtyText, {

  allowedTags: ['span', 'p', 'h2', 'a', 'u', 'em', 's']

});


查看完整回答
反對 回復 2023-09-07
?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

我能夠想出這樣的解決方案(這似乎沒有很好的性能,但做了我需要的事情)。


const deltas = quill.getContents().map(delta => {

    const attributes = delta.attributes;

    if (attributes) {

        delete attributes['<YOUR ATTRIBUTE TO DELETE>'];

    }


    return delta;

});

quill.setContents(deltas);


查看完整回答
反對 回復 2023-09-07
  • 3 回答
  • 0 關注
  • 230 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號