Taiwlwindcss:在单列中映射具有网格 returns 数据的数据元素
Taiwlwindcss: map through data elements with grid returns data in a single column
我正在使用 tailwindcss 在我的 React 应用程序中使用网格显示数组数据。我想连续显示三个数据项如下。
但是我得到了如下列中的所有数据项。
这是我使用的代码(最少的代码)。
import React, { useEffect, useState } from 'react'
import { client } from 'apollo-client'
import { gql } from '@apollo/client'
export default function VendorsInfo() {
const [data, setData] = useState([])
function getDashboard(searchQuery) {
client
.query({
query: gql`
{
allVendors {
id
isSupplier
storeName
phone
email
tinNumber
tradeName
productCont
storeCover
user {
id
username
phone
firstName
lastName
email
profilePic
isActive
isVerified
dateJoined
}
}
}
`,
})
.then((res) => {
console.log('ordersssssss', res.data)
setData(res.data)
// setisLoading(false)
// setVendors(res.data.allVendors)
// setfilteredVendors(res.data.allVendors)
// setPages(res.data.allOrders.pages)
})
.catch()
}
useEffect(() => {
getDashboard()
}, [])
console.log(data, 'this is list of vendors')
const DisplayData = data?.allVendors?.map((row) => {
return (
<>
<div key={row.id} class="p-10 grid sm:grid-cols-1 md:grid-cols-3 lg:grid-cols-3 xl:grid-cols-3 gap-5">
<div class="rounded overflow-hidden shadow-lg">
<img class="w-full" src={row.storeCover} alt="River" />
<div class="px-6 py-4">
<div class="font-bold text-xl mb-2">
{row.storeName}
</div>
</div>
</div>
</div>
</>
)
})
return <div>{DisplayData}</div>
}
我该如何解决才能让三张卡片排成一行?我使用 tailwindcss 进行样式设置。 谢谢
您目前正在为每个供应商创建一个包含单个项目的新网格。
尝试设置一次网格(最后一行),然后将各个项目放入其中。
相关代码:
const DisplayData = data?.allVendors?.map((row) => {
return (
<>
<div key={row.id} class="rounded overflow-hidden shadow-lg">
<img class="w-full" src={row.storeCover} alt="River" />
<div class="px-6 py-4">
<div class="font-bold text-xl mb-2">{row.storeName}</div>
</div>
</div>
</>
);
});
return <div class="p-10 grid sm:grid-cols-1 md:grid-cols-3 lg:grid-cols-3 xl:grid-cols-3 gap-5">{DisplayData}</div>;
我正在使用 tailwindcss 在我的 React 应用程序中使用网格显示数组数据。我想连续显示三个数据项如下。
但是我得到了如下列中的所有数据项。
这是我使用的代码(最少的代码)。
import React, { useEffect, useState } from 'react'
import { client } from 'apollo-client'
import { gql } from '@apollo/client'
export default function VendorsInfo() {
const [data, setData] = useState([])
function getDashboard(searchQuery) {
client
.query({
query: gql`
{
allVendors {
id
isSupplier
storeName
phone
email
tinNumber
tradeName
productCont
storeCover
user {
id
username
phone
firstName
lastName
email
profilePic
isActive
isVerified
dateJoined
}
}
}
`,
})
.then((res) => {
console.log('ordersssssss', res.data)
setData(res.data)
// setisLoading(false)
// setVendors(res.data.allVendors)
// setfilteredVendors(res.data.allVendors)
// setPages(res.data.allOrders.pages)
})
.catch()
}
useEffect(() => {
getDashboard()
}, [])
console.log(data, 'this is list of vendors')
const DisplayData = data?.allVendors?.map((row) => {
return (
<>
<div key={row.id} class="p-10 grid sm:grid-cols-1 md:grid-cols-3 lg:grid-cols-3 xl:grid-cols-3 gap-5">
<div class="rounded overflow-hidden shadow-lg">
<img class="w-full" src={row.storeCover} alt="River" />
<div class="px-6 py-4">
<div class="font-bold text-xl mb-2">
{row.storeName}
</div>
</div>
</div>
</div>
</>
)
})
return <div>{DisplayData}</div>
}
我该如何解决才能让三张卡片排成一行?我使用 tailwindcss 进行样式设置。 谢谢
您目前正在为每个供应商创建一个包含单个项目的新网格。
尝试设置一次网格(最后一行),然后将各个项目放入其中。
相关代码:
const DisplayData = data?.allVendors?.map((row) => {
return (
<>
<div key={row.id} class="rounded overflow-hidden shadow-lg">
<img class="w-full" src={row.storeCover} alt="River" />
<div class="px-6 py-4">
<div class="font-bold text-xl mb-2">{row.storeName}</div>
</div>
</div>
</>
);
});
return <div class="p-10 grid sm:grid-cols-1 md:grid-cols-3 lg:grid-cols-3 xl:grid-cols-3 gap-5">{DisplayData}</div>;