[英]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.