VUE3 proxy类型转成普通对象(ElementUI的el-date-picker日期控件数组转换普通对象)
在Vue 3中,如果你需要将一个由ref
创建的Proxy
类型转成普通对象,你可以使用toRaw
函数。这个函数来自Vue的Composition API。
以下是一个简单的例子,展示如何将el-date-picker
组件返回的数组转换为普通对象:
<template>
<el-date-picker
v-model="dateRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</template>
<script setup>
import { ref } from 'vue';
import { toRaw } from '@vue/reactivity';
const dateRange = ref([]);
// 监听日期变化,转换为普通对象
watch(dateRange, (newVal, oldVal) => {
if (newVal && newVal.length === 2) {
const normalObj = toRaw(newVal);
console.log(normalObj); // 普通对象 { 0: startDate, 1: endDate }
}
});
</script>
在这个例子中,dateRange
是一个由ref
创建的响应式引用,它被绑定到el-date-picker
组件的v-model
上。当用户选择日期范围后,dateRange
数组会被更新。我们使用watch
来监听这个变化,并使用toRaw
将其转换为普通对象。这样,你就可以得到一个没有__v_isReactive
属性的普通对象。
评论已关闭