Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React、React可排序的hoc和多个列表_Reactjs_React Sortable Hoc - Fatal编程技术网

Reactjs React、React可排序的hoc和多个列表

Reactjs 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

这个图书馆很酷。我有以下问题:

我有多个列表,我希望能够拖放以在列表内以及列表之间重新排序。在下面的列表中,用户可以选择在列表中移动合作伙伴,或者从一个列表移动到另一个列表

默认情况下,项目只能在同一组件中拖动。如何创建一组可以作为彼此项目目标的组件

App.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;
从“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”的解决方案,请查看以下内容: