需要找到切片此阵列的方法,以便只显示n个客户

时间:2016-10-21 09:49:22

标签: reactjs ecmascript-6 redux

所以,我基本上只希望每页只显示5个客户,我后来会添加一个分页栏,但此刻我只想显示5个客户,我试图在地图功能后切片,但即时通讯有点新的反应和还原,我不确定这是不是。

const Setting = ({
    itemFromPage,
    BBDDCustomer
}) => {
   console.log({BBDDCustomer});
   const renderRows = BBDDCustomer.data.map((customer, customerIndex) => { //how to slice this array 
   return (
      <tr key={customerIndex}>
          <td>{BBDDCustomer.data[customerIndex].name}</td>
          <td>{BBDDCustomer.data[customerIndex].address}</td>
          <td>{BBDDCustomer.data[customerIndex].postalCode}</td>
          <td>{BBDDCustomer.data[customerIndex].city}</td>
          <td>{BBDDCustomer.data[customerIndex].country}</td>
          <td>{BBDDCustomer.data[customerIndex].telephone}</td>
          <td>{BBDDCustomer.data[customerIndex].email}</td>
          <td><input type="checkbox" id="customerIndex" value="mod"/></td>
          <td><input type="checkbox" id="customerIndex" value="Del"/></td>
       </tr>
    );
 });
 return (
  <div>
    <Table>         
   </div>
  );
};

这是客户所在的格式文件:

    const BBDDCustomer = {
          ui_labels: {
            name: 'Name',
            address: 'address',
            postalCode: 'Postal Code',
            city: 'City',
            country: 'Country',
            telephone: 'Telephone',
            email: 'Email',
            modified: 'Modified',
            delete: 'Delete'
          },
      data: [
        {
          name: 'n1',
          address: 'a1',
          postalCode: 'PC 1',
          city: 'c 1',
          country: 'cou 1',
          telephone: 'tel 1',
          email: 'em 1'
        }
    }

1 个答案:

答案 0 :(得分:1)

最好获得一个子数组并渲染它,而不是渲染整个数组并得到一个子数组。

有一个标准的Javascript slice(from, count?)方法来获取数组的一部分,第一个参数告诉索引开始,第二个可选参数是要包含的元素数

你会像这样使用它:

const renderRows = BBDDCustomer.data.slice(0, 5).map((customer, customerIndex) => { ... };

它将返回前五个元素,您将使用数组函数进行映射。