Reactjs React、React可排序的hoc和多个列表
这个图书馆很酷。我有以下问题: 我有多个列表,我希望能够拖放以在列表内以及列表之间重新排序。在下面的列表中,用户可以选择在列表中移动合作伙伴,或者从一个列表移动到另一个列表 默认情况下,项目只能在同一组件中拖动。如何创建一组可以作为彼此项目目标的组件 App.jsReactjs React、React可排序的hoc和多个列表,reactjs,react-sortable-hoc,Reactjs,React Sortable Hoc,这个图书馆很酷。我有以下问题: 我有多个列表,我希望能够拖放以在列表内以及列表之间重新排序。在下面的列表中,用户可以选择在列表中移动合作伙伴,或者从一个列表移动到另一个列表 默认情况下,项目只能在同一组件中拖动。如何创建一组可以作为彼此项目目标的组件 App.js import React from 'react'; import './App.css'; import SortablePartner from './SortablePartner'; const priorityPartne
import React from 'react';
import './App.css';
import SortablePartner from './SortablePartner';
const priorityPartners = [
"AwesomeTech",
"Bazinga Software"
];
const medPartners = [
"Zippy-Do",
"SillySoft",
"Samsonite"
];
const lowPartners = [
"Acme Engineering",
"Elbow Tech",
"Rockets & Ricers"
];
function App() {
return (
<div className="App">
<header className="App-header">
<h1>Prioritize Your Partners</h1>
</header>
<div className="SortableContainer">
<SortablePartner priority="High" state={priorityPartners} />
<SortablePartner priority="Medium" state={medPartners} />
<SortablePartner priority="Low" state={lowPartners} />
</div>
</div>
);
}
export default App;
import React, {Component} from 'react';
import {SortableContainer, SortableElement} from 'react-sortable-hoc';
import arrayMove from 'array-move';
const SortableItem = SortableElement(({value}) => {
return(
<li>
<div className="partner-element">
<div className="partner-name">{value}</div>
<div className="partner-type">
MSP
</div>
</div>
</li>
)
});
const SortableList = SortableContainer(({items}) => {
return (
<ul>
{items.map((value, index) => (
<SortableItem key={`item-${value}`} index={index} value={value} />
))}
</ul>
);
});
class SortablePartner extends Component {
state={};
constructor(props) {
super(props);
this.state.items = props.state;
this.priority = props.priority;
};
onSortEnd = ({oldIndex, newIndex}) => {
this.setState(({items}) => ({
items: arrayMove(items, oldIndex, newIndex),
}));
};
render() {
return (
<div className="partnerList">
<h2>Priority: {this.priority}</h2>
<SortableList items={this.state.items} onSortEnd={this.onSortEnd} />
</div>
)
}
}
export default SortablePartner;
从“React”导入React;
导入“/App.css”;
从“./SortablePartner”导入SortablePartner;
常量优先合伙人=[
“神奇科技”,
“Bazinga软件”
];
常数=[
“快做”,
“SillySoft”,
“新秀丽”
];
常数=[
“Acme工程”,
“肘部技术”,
“火箭与大米”
];
函数App(){
返回(
优先考虑你的伙伴
);
}
导出默认应用程序;
SortablePartner.js
import React from 'react';
import './App.css';
import SortablePartner from './SortablePartner';
const priorityPartners = [
"AwesomeTech",
"Bazinga Software"
];
const medPartners = [
"Zippy-Do",
"SillySoft",
"Samsonite"
];
const lowPartners = [
"Acme Engineering",
"Elbow Tech",
"Rockets & Ricers"
];
function App() {
return (
<div className="App">
<header className="App-header">
<h1>Prioritize Your Partners</h1>
</header>
<div className="SortableContainer">
<SortablePartner priority="High" state={priorityPartners} />
<SortablePartner priority="Medium" state={medPartners} />
<SortablePartner priority="Low" state={lowPartners} />
</div>
</div>
);
}
export default App;
import React, {Component} from 'react';
import {SortableContainer, SortableElement} from 'react-sortable-hoc';
import arrayMove from 'array-move';
const SortableItem = SortableElement(({value}) => {
return(
<li>
<div className="partner-element">
<div className="partner-name">{value}</div>
<div className="partner-type">
MSP
</div>
</div>
</li>
)
});
const SortableList = SortableContainer(({items}) => {
return (
<ul>
{items.map((value, index) => (
<SortableItem key={`item-${value}`} index={index} value={value} />
))}
</ul>
);
});
class SortablePartner extends Component {
state={};
constructor(props) {
super(props);
this.state.items = props.state;
this.priority = props.priority;
};
onSortEnd = ({oldIndex, newIndex}) => {
this.setState(({items}) => ({
items: arrayMove(items, oldIndex, newIndex),
}));
};
render() {
return (
<div className="partnerList">
<h2>Priority: {this.priority}</h2>
<SortableList items={this.state.items} onSortEnd={this.onSortEnd} />
</div>
)
}
}
export default SortablePartner;
import React,{Component}来自'React';
从“react-sortable hoc”导入{SortableContainer,SortableElement};
从“数组移动”导入arrayMove;
const SortableItem=SortableElement(({value})=>{
返回(
{value}
MSP
)
});
const SortableList=SortableContainer(({items})=>{
返回(
{items.map((值,索引)=>(
))}
);
});
类SortablePartner扩展组件{
状态={};
建造师(道具){
超级(道具);
this.state.items=props.state;
this.priority=props.priority;
};
onSortEnd=({oldIndex,newIndex})=>{
this.setState(({items})=>({
项目:arrayMove(项目、旧索引、新索引),
}));
};
render(){
返回(
优先级:{this.Priority}
)
}
}
导出默认可排序伙伴;
您找到解决方案了吗?没有。我相信这是可能的,但我还没有时间来讨论这个问题。再也不是真正的程序员了(您可以尝试使用另一个库,如:但如果您仍然需要使用“react sortable hoc”的解决方案,请查看以下内容: