![](/img/trans.png)
[英]How to add custom select all checkbox in toolbar using mui datagrid
[英]Using Select component in DataGrid MUI
我使用 DataGrid MUI 庫創建了一個表,並想為特定列的所有單元格添加一個選擇組件
到目前為止我做了什么
我創建了一個 Select 組件並將其傳遞給renderCell
中的 renderCell
我的組件使用useState
因為我希望它是可編輯的
隨后,對於每個單元格,都有一個useState
,這使得表格很重,有什么改進的想法嗎?
我的代碼
const Payment = (params) => {
const [paymentStatus, setPaymentStatus] = useState(params.value);
const id = params.id;
return (
<Select
value={paymentStatus}
onChange={(e) => {
setPaymentStatus(e.target.value);
return updateSubscription(id, e.target.value); // function to update the payment
}}
>
<MenuItem value={"paid"}>Paid</MenuItem>
<MenuItem value={"unpaid"}>Un Paid</MenuItem>
</Select>
);
};
const columns = [
...
{
field: "payment_status",
headerName: "Payment Status",
renderCell: (params) => <Payment params={params} />,
}
];
我推薦使用singleSelect
Column 類型。
const paymentOptions = [
{ value: "paid", label: "Paid" },
{ value: "unpaid", label: "Un Paid" },
];
...
const columns = [
...
{
field: "payment_status",
headerName: "Payment Status",
type: 'singleSelect',
valueOptions: paymentOptions,
valueFormatter: ({ id, value, field }) => {
const option = paymentOptions.find(
({ value: optionValue }) => optionValue === value
);
return option!.label;
},
}
];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.