[英]How do i create dynamic product variant options on React
我想我做過類似的項目。
流程如下:
const [words, setWords] = useState([]);
...
function handleWord(e) {
if (e.key === "Enter") {
let temp = words ? words : [];
temp.push(value);
setWords(temp);
setValue("");
}
}
...
<input
type="text"
onChange={(e) => setValue(e.target.value)}
onKeyDown={handleWord}
value={value}
placeholder="Enter one keyword..."
/>
您可以根據構建 object 的方式來修改它。
那是你要的嗎?
[{id:110, hingeName : "Color", priority: 1 }, {id:220, hingeName: "Size", priority:2}]
productData = {
id:12132,
prodcutImg:'https://abc.img.in',
productPrice:'$24',
prodAttribute:[{id:110, value:'Black'},{id:220, value:"XL"}],
variantMeta:
{
hinges:[
{id:110, hingeName : "Color", priority: 1 },
{id:220, hingeName: "Size", priority:2}
],
hingesValues: [
{110: ["Black","Red","White"]},
{220: ['XS','S','L','XL','XXL']}
],
variantsOfCurrentProducts: [
{variant_id:'12131', attributes: { 110:'Black',220:'S'}},
{variant_id:'12132', attributes: { 110:'Red',220:'XL'}},
{variant_id:'12133', attributes: { 110:'White',220:'XS'}},
{variant_id:'12134', attributes: { 110:'Red',220:'XL'}}
]
}
}]
Color :
Red Black White
Size :
XS S L XL XXL
Color :
Red "Black" White
Size :
XS S L "XL" XXL
注意:我使用“double_quote”來顯示當前產品的屬性。 您可以在 UI 上使用不同的背景和顏色渲染它。
現在確保始終啟用最高優先級的鉸鏈,以便用戶可以在任何時間點使用 select
如果有人單擊具有第二高優先級的鉸鏈,則過濾所有具有最高優先級和第二高優先級屬性的變體,並將它們呈現為可選值,所有不具有這些屬性的變體將禁用它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.