问题概述
我套用的为elementui-plus的From表单组件,默认提交的为vue的Proxy代理转换对象,不适合于axios请求的json提交。
解决方案
1:使用axios的内部自序列化处理
aixos在提交时对传递的对象会继续序列化处理,但是我怕出啥错乱,没有使用,可以尝试这一个方案,即不进行任何修改,直接依靠自带序列化进行处理。
2:转json
const jsonData = JSON.stringify(form);
转为json对象,需要注意的是,在转换json格式的同时,这段把原来的reactive带有的响应式对象from转换为了非响应式对象,所以必须确保其在同一周期内运行,如:
const form = reactive({
news_title: "",
type_id: "",
new_content: "",
});
const onSubmit = () => {
const jsonData = JSON.stringify(form);
console.log(jsonData);
};
在onSubmit时间段进行时,再对其进行转换json,负责非响应式对象jsonData会无法进行绑定和响应式热更新,从而导致打印为空。