问题描述
如何在自动更新数量值时更新价格值??
页面设计
interface ui
在控制台上打印值: print values on the console:
这句话需要修改
{数量[initQ] == 1 ?数据价格:initP[initQ]}
我使用 setState 来保存多个值
export default function Contaner({ setpressed,getpressed }) {
const [products,setProducts] = useState([]);
const [layout,setLayout] = useState('list');
let initQ = 1;
const [initP,setinitP] = useState({ [initQ]: 1 }) ;
const [quantity,setQuantity] = useState({ [initQ]: 1 });
function checkQuantity(e,data) {
if (e.value <= data.quantity) {
initQ = data.name;
setQuantity({ ...quantity,[data.name]: e.value});
setinitP( { ...quantity,[data.name]: data.price * e.value});
console.log(initP );
setCart(current => [...current,data.name]);
}
else {
showError();
}
}
const renderListItem = (data) => {
return (
<div style={{ display: "flex" }}>
<button className="button_color" onClick={() => removeItem(data)}>
<i className="pi pi-trash"></i>
</button>
<h6>{quantity[initQ] == 1 ? data.price : initP[initQ] }</h6>
<InputNumber id="stacked" showButtons min={1} value={quantity[initQ]}
onValueChange={(e) => checkQuantity(e,data)} />
<InputText disabled={true} value={"₪ " + data.price} />
<h6>{data.name}</h6>
</div>
);
}
const itemTemplate = (product,layout) => {
if (!product) {
return <></>;
}
if (layout === 'list') {
return renderListItem(product);
}
}
return(
<DataView value={products} layout={layout} itemTemplate={itemTemplate} rows={1} />
);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)