将 formik 和 select 数组反应为字符串 Convert onSubmit
React formik and select array to string Convert onSubmit
我正在使用 React formik 和 React select 包。我创建的表单包含用户可以创建新的和编辑也以相同的形式工作。我有一个多 select 字段,字段值在数组中 我想更改为字符串发送到 onSubmit 上的服务器。而且在更新时我想将字符串值转换数组设置为 select 字段。我尝试了但找不到解决方案。请给我任何想法这对我有帮助
代码沙盒:https://codesandbox.io/s/multipleselect-formik-3eqxp?file=/src/RegisterForm.js
感谢帮助
我不确定这是否是您要找的,但我做到了
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);
}
获取字段值后,在提交前将数组更改为字符串。我们想在字段上绑定更改字符串值。它对我来说很好用。
代码沙箱 link :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);
}
我正在使用 React formik 和 React select 包。我创建的表单包含用户可以创建新的和编辑也以相同的形式工作。我有一个多 select 字段,字段值在数组中 我想更改为字符串发送到 onSubmit 上的服务器。而且在更新时我想将字符串值转换数组设置为 select 字段。我尝试了但找不到解决方案。请给我任何想法这对我有帮助 代码沙盒:https://codesandbox.io/s/multipleselect-formik-3eqxp?file=/src/RegisterForm.js 感谢帮助
我不确定这是否是您要找的,但我做到了
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);
}
获取字段值后,在提交前将数组更改为字符串。我们想在字段上绑定更改字符串值。它对我来说很好用。
代码沙箱 link :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);
}