Когда я перетаскиваю элемент, список исчезает
JSFiddle: https://jsfiddle.net/40vpaLj5/
Я погуглил некоторые проблемы, и единственные исчезающие связанные проблемы, которые я обнаружил, были, когда люди использовали это на модальной стороне, и они говорили об установке z-index, чтобы исправить это. Я все равно попробовал все еще ничего. Как я могу это исправить?
import React from 'react';
import PlaylistPages from './PlaylistPages';
class PlaylistSortableComponent extends React.Component {
constructor(props, context) {
super(props, context);
this.state = {
test: [
'1','2', '3', '4'
]
}
}
render() {
return (
<PlaylistPages pages={this.state.test} style={{zIndex: 999999}} />
);
}
}
const PlaylistPages = SortableContainer(({pages}) => {
return (
<div>
{
pages.map((page, index) =>
<PlaylistPage key={index} page={page} style={{zIndex: 99999999}} />
)}
</div>
);
});
const PlaylistPage = SortableElement(({page}) => {
return (
<div style={{zIndex: 99999999}} >{page}</div>
);
});
1 ответ
Решение
Каждый sortableElement
должен иметь свой собственный index
проп:
<PlaylistPage key={index} index={index} page={page} style={{zIndex: 99999999}} />
Вот обновление вашего jsfiddle:
https://jsfiddle.net/40vpaLj5/1/
У меня была такая же проблема, и Декель прав. В моем случае z-index исправляет ошибку:
<SortableList
axis="y"
helperClass="sortable-list-tab"
lockAxis="y"
distance={0}
onSortEnd={onSortEnd}
>
<ul>
{toolItems.map((value, index) => (
<SortableItem key={`item-${index}`} index={index}>
<li className="sortable-list-tab" >
<Button type="dashed">{`${value.label} (${index + 1})`}</Button>
</li>
</SortableItem>
))}
</ul>
</SortableList>
А класс sortable-list-tab выглядит так:
.sortable-list-tab {
cursor: default;
visibility: visible;
z-index: 99999999;
list-style-type: none;
padding: .3em;
}