Упоминание Svelte о том, что компонент не работает должным образомJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Упоминание Svelte о том, что компонент не работает должным образом

Сообщение Anonymous »

Я создаю компонент, в котором вы можете использовать определенный триггер для открытия раскрывающегося списка. После выбора он вставит данный выбор в курсор, а затем переместит курсор. Теоретически это звучит просто, но я не могу заставить это работать (одна команда почти работает, несколько полностью ломаются).
REPL: https://svelte.dev/playground/edba5955c ... ion=5.19.0< /p>
Я просто не понимаю, что делаю не так. Это должно работать как упоминание кого-то, ссылка на проблему или что-то подобное.
Я думаю, главный виновник здесь:
function handleOptionSelect(option) {
const sel = window.getSelection();
const range = sel.getRangeAt(0);
const textNode = range.startContainer;
const cursorPos = range.startOffset;
const text = textNode.textContent;

const beforeCursor = text.substring(0, cursorPos);
const afterCursor = text.substring(cursorPos);
const lastDollarIndex = beforeCursor.lastIndexOf('$');
const start = lastDollarIndex === -1 ? beforeCursor.length : lastDollarIndex;

const beforeText = document.createTextNode(beforeCursor.substring(0, start));
const commandSpan = document.createElement('span');
commandSpan.classList.add('command-span');
commandSpan.contentEditable = false;
commandSpan.textContent = option.name;

const space = document.createTextNode('\u00A0');
const afterText = document.createTextNode(afterCursor);

inputElement.textContent = '';
inputElement.appendChild(beforeText);
inputElement.appendChild(commandSpan);
inputElement.appendChild(space);
inputElement.appendChild(afterText);

const newRange = document.createRange();
newRange.setStart(afterText, 0);
newRange.collapse(true);
sel.removeAllRanges();
sel.addRange(newRange);

inputElement.focus();
sel.removeAllRanges();
sel.addRange(newRange);

showDropdown = false;
currentText = inputElement.textContent;
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... s-expected
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Splide Svelte настраивает нумерацию страниц или любой элемент слайда в компоненте svelte.
    Anonymous » » в форуме CSS
    0 Ответы
    56 Просмотры
    Последнее сообщение Anonymous
  • Явное упоминание о предполагаемой точке с запятой
    Anonymous » » в форуме C++
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Упоминание пользователя Summernote не может обернуть упомянутую проблему пользователя
    Anonymous » » в форуме Html
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Реализуется ли Context Manager (должным образом) HuggingFace Accelerate's init_empty_ewheways (должным образом)?
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Реализуется ли Context Manager (должным образом) HuggingFace Accelerate's init_empty_ewheways (должным образом)?
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»