big-design icon indicating copy to clipboard operation
big-design copied to clipboard

Table Component Checkbox Selection Issue

Open darundevs opened this issue 1 year ago • 1 comments
trafficstars

When I select the checkbox, I don't get the active checkbox state, resulting in multiple duplicated selected items.

Source :

"use client";

import React, { useState } from 'react';
import { Table } from '@bigcommerce/big-design';

interface Item {
  sku: string;
  name: string;
  stock: number;
}

export default function Example() {
  const [selectedItems, setSelectedItems] = useState<Item[]>([]);

  const columns = [
    {
      header: 'SKU',
      hash: 'sku',
      render: ({ sku }: Item) => sku,
    },
    {
      header: 'Name',
      hash: 'name',
      render: ({ name }: Item) => name,
    },
    {
      header: 'Stock',
      hash: 'stock',
      render: ({ stock }: Item) => stock,
    },
  ];

  const data: Item[] = [
    { sku: 'SM13', name: '[Sample] Smith Journal 13', stock: 25 },
    { sku: 'DPB', name: '[Sample] Dustpan & Brush', stock: 34 },
    { sku: 'OFSUC', name: '[Sample] Utility Caddy', stock: 45 },
    { sku: 'CLC', name: '[Sample] Canvas Laundry Cart', stock: 2 },
    { sku: 'CGLD', name: '[Sample] Laundry Detergent', stock: 29 },
  ];

  const handleSelectionChange = (selectedItems: Item[]) => {
    setSelectedItems(selectedItems);
    console.log('Selected items:', selectedItems);
  };

  return (
    <Table
      columns={columns}
      items={data}
      itemName="Products"
      keyField="sku"
      selectable={{
        onSelectionChange: handleSelectionChange,
        selectedItems: selectedItems,
      }}
    />
  );
}

image

darundevs avatar Sep 01 '24 04:09 darundevs