在 DataView 组件中使用 reactPrime 库如何更新动态值反应钩子?

问题描述

如何在自动更新数量值时更新价格值??

页面设计 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...