使用 react-sortable-hoc 拖动时丢失 tr 元素的样式
Losing style of tr element when being dragged with react-sortable-hoc
我的问题是 selected 元素的样式在拖动时丢失了。我正在使用 react-sortable-hoc 库,它没有提供相关信息。他们的例子没有这个问题。样式始终与原始项目保持一致。
<tbody>
{items.map((value, index) => (
<SortableItem key={`item-${value.code}`} index={index} sortIndex={index} value={value} />
))}
</tbody>
const SortableItem = SortableElement(({value, sortIndex}) => (
<tr>
<DragHandle sortIndex={sortIndex}/>
<td>{value.label}</td>
<td>{value.beta.toString()}</td>
<td>{value.prod.toString()}</td>
<td>{value.hidden.toString()}</td>
</tr>
));
const DragHandle = SortableHandle(({sortIndex}) => <td>{sortIndex}</td>);
这是我 select 并拖动元素之前的列表。
这是我 select 并开始拖动第一个元素时的列表。
对我来说,问题在于 CSS 层次结构和特异性,我正在定义与父项相关的项目样式。像这样:
.list .item{
...
}
但是在拖动项目时,该元素不再链接到父元素 class,而是父元素之外的一个单独元素。因此它失去了所有的造型!因此,为了解决这个问题,我们可以像这样全局定义项目和父级样式:
.list{
...
}
.item{
...
}
我的问题是 selected 元素的样式在拖动时丢失了。我正在使用 react-sortable-hoc 库,它没有提供相关信息。他们的例子没有这个问题。样式始终与原始项目保持一致。
<tbody>
{items.map((value, index) => (
<SortableItem key={`item-${value.code}`} index={index} sortIndex={index} value={value} />
))}
</tbody>
const SortableItem = SortableElement(({value, sortIndex}) => (
<tr>
<DragHandle sortIndex={sortIndex}/>
<td>{value.label}</td>
<td>{value.beta.toString()}</td>
<td>{value.prod.toString()}</td>
<td>{value.hidden.toString()}</td>
</tr>
));
const DragHandle = SortableHandle(({sortIndex}) => <td>{sortIndex}</td>);
这是我 select 并拖动元素之前的列表。
这是我 select 并开始拖动第一个元素时的列表。
对我来说,问题在于 CSS 层次结构和特异性,我正在定义与父项相关的项目样式。像这样:
.list .item{
...
}
但是在拖动项目时,该元素不再链接到父元素 class,而是父元素之外的一个单独元素。因此它失去了所有的造型!因此,为了解决这个问题,我们可以像这样全局定义项目和父级样式:
.list{
...
}
.item{
...
}