#reactjs
Вопрос:
Я работаю над проблемой в Joplin , проекте с открытым исходным кодом . Я обнаружил, что noteItem_noteDrop
он не выполняется на onDrop . Я не могу понять , почему это не выполняется, даже если я удалил все тело функции с помощью консоли.предупредите msg, но он все еще не выполняется:
noteItem_noteDrop(event: any) { console.warn("noteItem_noteDrop executed"); if (this.props.notesParentType !== 'Folder') return; if (this.props.noteSortOrder !== 'order') { const doIt = bridge().showConfirmMessageBox(_('To manually sort the notes, the sort order must be changed to "%s" in the menu "%s" gt; "%s"', _('Custom order'), _('View'), _('Sort notes by')), { buttons: [_('Do it now'), _('Cancel')], }); if (!doIt) return; Setting.setValue('notes.sortOrder.field', 'order'); return; } // TODO: check that parent type is folder const dt = event.dataTransfer; this.unregisterGlobalDragEndEvent_(); console.warn("folderIDs: ",this.props.selectedFolderId); this.setState({ dragOverTargetNoteIndex: null }); const targetNoteIndex = this.dragTargetNoteIndex_(event); const noteIds = JSON.parse(dt.getData('text/x-jop-note-ids')); void Note.insertNotesAt(this.props.selectedFolderId, noteIds, targetNoteIndex); }
Последняя строка функции является асинхронной.
Элемент, на котором присутствует атрибут onDrop:
lt;StyledRoot className={classNames} onDragOver={props.onNoteDragOver} onDrop={props.onNoteDrop} width={props.width} height={props.height} isProvisional={props.isProvisional} selected={props.isSelected} dragItemPosition={dragItemPosition} gt; {renderCheckbox()} lt;a ref={anchorRef} onContextMenu={props.onContextMenu} href="#" draggable={true} style={listItemTitleStyle} onClick={onTitleClick} onDragStart={props.onDragStart} data-id={item.id} gt; {watchedIcon} {titleComp} lt;/agt; lt;/StyledRootgt;
Заранее спасибо