我有一个表,显示API中的值。我想根据收到的request.status
值更改状态字段的背景
我总共有4个状态值
- 已完成
- 正在进行的工作
- 待启动
- 等待客户确认
对此最好的方法是什么?
export default function RequestPage() {
const [requests, setRequest] = useState([]);
useEffect(() => {
const fetchRequests = async () => {
const res = await fetch('/api/requests');
const data = await res.json();
console.log(data);
setRequest(data);
};
fetchRequests();
}, [setRequest]);
return (
{requests.map((request) => {
return (
<span aria-hidden="true" className="absolute inset-0 opacity-50 rounded-full bg-green-200"></span>
<span className="relative">{request.status}</span>
)}
})
我在用打字稿。这是我做的第一个打字项目。
您可以定义一个代表背景色类的bgColor
变量,并根据request.status
:进行更改
{
requests.map((request) => {
let bgColor = '';
switch (request.status) {
case 'Completed':
bgColor = 'bg-green-200';
break;
case ...
}
return (
<>
<span
aria-hidden='true'
className={`absolute inset-0 opacity-50 rounded-full ${bgColor}`}
></span>
<span className='relative'>{request.status}</span>
</>
);
});
}