javascript - 我如何处理reactjs中的受控和不受控输入
问题描述
我有一个如下图所示的表单字段 产品字段是一个搜索字段,当用户单击建议选项时,其他表单字段会自动填写其他表单字段,用户也可以覆盖自动填写的内容,比如price。成功完成表单后,详细信息将添加到表格中。现在,当用户在自动填充后取消进程时,我面临一个挑战,它不会覆盖以前的值,当我使用 defaultValue 属性时会发生这种情况。因此,我尝试使用 value 属性和 onChange 处理程序,我只能在自动填充之前输入字段,这意味着用户无法在自动填充之后更改诸如价格之类的字段,所以我怎样才能最好地解决我的问题。
解决方案
我找到了一种使用 vanilla javascript 与表单字段交互的方法。例子
const drug_details_from = React.useRef(null);
const [inputEl, setInputEl] = React.useState([]);
const handleSearchSelect = (values) => {
const { form, qty, sellPrice, str, suppQty } = values;
inputEl[1].value = qty;
inputEl[2].value = formatAsMoney(sellPrice);
inputEl[4].value = "1";
inputEl[5].value = form;
inputEl[7].value = suppQty;
inputEl[8].value = "S";
};
推荐阅读
- java - 从 servlet 中的 html 表单中检索选择的标题
- angular - 更新角度、材料和引导程序后 ng 服务时出错
- javascript - Angular - 在复选框上添加事件
- python-3.x - Unable to query on Partition key in DyanmoDB by boto3
- css - What is this variable kind of thing in css?
- php - How to ignore a column when update in mysql?
- elixir - Elixir: what is right way for fetching external API in separate processes
- javascript - Javascript:getFullYear() 在 IE 11 中返回负值
- python - What is the equivalent of array_column in python3
- json - Split JSON into two individual JSON objects using Nifi