индекс в getLeaf не совпадает с индексом в getText

#quill

#quill

Вопрос:

я пишу простой HTML-текст внутри редактора и устанавливаю редактор немного узким, чтобы текстовая строка переносилась

 <p>Some initial <strong>bold</strong> text</p>
 

но индекс в getLeaf (index) выглядит иначе, чем getText (индекс, длина)

 quill.getText()="Some initial bold textn"
quill.getText(14,4)="old " //equals quill.getText().substr(14,4)
quill.getLeaf(14)[0].text="bold"  //yes,it is right
quill.getLeaf(13)[0].text="Some initial " // WHY? 
quill.getBounds(14)={bottom: 47.79999923706055, height: 14.39999771118164, left: 24, right: 24, top: 33.400001525878906, width: 0}
quill.getBounds(13)={ bottom: 29.400001525878906, height: 14.400001525878906, left: 84, right: 84, top: 15, width: 0 } 
 

quill.getLeaf(13) должно ли быть таким же, как quill.getLeaf(14) ?
PS: индекс quill.getBounds(index) внешнего вида такой же, как quill.getLeaf(index)

пожалуйста, проверьте codepen
https://codepen.io/minzojian/pen/ROLyeZ

Ответ №1:

Это выглядит так:

  • getText возвращает текст справа от index
  • getLeaf возвращает пятно слева от index

Например, учитывая этот документ:

 [
  {
    "insert": "a"
  },
  {
    "insert": "b",
    "attributes": { "bold": true }
  },
  {
    "insert: "c",
    "attributes": { "italic": true }
  }
]
 

Тогда вы получите следующие результаты:

 quill.getLeaf(0) // a (the 0-index is a slightly special case)
quill.getText(0) // "abc"

quill.getLeaf(1) // a
quill.getText(1) // "bc"

quill.getLeaf(2) // b
quill.getText(2) // "c"

quill.getLeaf(3) // c
quill.getText(3) // ""
 

Комментарии:

1. спасибо за вашу помощь. я проверю это на основе вашего объяснения