![](/img/trans.png)
[英]React formik with React-select Convert multiple select array to string
[英]React formik and select array to string Convert onSubmit
我正在使用反應 formik 和反應 select package。 我在包含用戶可以創建新的表單上創建,並且編輯也以相同的表單工作。 我有一個多 select 字段,該字段值在數組中,我想在 onSubmit 上更改為字符串發送到服務器。 而且在更新時我想將字符串值轉換數組設置為 select 字段。 我嘗試了,但找不到解決方案。請給我任何想法它對我有幫助 codeSandbox: https://codesandbox.io/s/multipleselect-formik-3eqxp?file=/src/RegisterForm.js感謝您的幫助
獲取字段值后,在提交之前將數組更改為字符串。 我們想在字段上綁定更改字符串值。 這對我來說會很好。
代碼沙箱鏈接: https://codesandbox.io/s/multipleselect-formik-3eqxp?file=/src/RegisterForm.js:657-844
function create(fields) {
console.log(fields);
const jobs = [];
fields.job.map((ele) => jobs.push(ele.value));
fields.job = jobs.toString();
console.log(fields);
}
我不確定這是否是您要找的,但我做到了
function create(fields) {
fields.job = JSON.stringify(fields.job)
console.log(fields);
}
或者
function create(fields) {
const jobs = [];
fields.job= fields.job.map((ele) => jobs.push(ele.value));
console.log(fields);
}
代替
function create(fields) {
console.log(fields);
const jobs = [];
fields.job.map((ele) => jobs.push(ele.value));
const job = ("text => ", jobs.toString());
console.log(job);
console.log(fields);
}
我想你想從結果應該是的數組中獲取值
{name: "111", fatherName: "222", job: ["enginner", "painter"] }
function create(fields) {
const amendedFields = {
...fields,
job: fields.job.map((ele) => ele.value) // extract value from object, ["enginner", "painter"]
}; // not mutating the current fields object, copy it and mutate the new one.
console.log("old", fields);
console.log("new", amendedFields);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.