做组件时,对用户传过来的值,会发现丢失响应式,从而做不到想要的效果

<script setup lang='ts'>
import { ref, reactive } from 'vue'
interface props {
    columns?: any
    tasks?: any
    columnsLeft?: number
    rowHeight?: string
}
let prop = defineProps<props>()
// 不用响应式
const {tasks, columns, columnsLeft } = prop 
// 要响应式
const {rowHeight} = toRefs(prop);

</script>

toRefs:将一个响应式对象转换为一个普通对象,这个普通对象的每个属性都是指向源对象相应属性的 ref 

如果这时你想在子组件要修改父组件的对象时,
但props传过来的是常量(只读)

这时可以试下这个方法:vue3修改父组件对象,不需要在父组件定义方法

Logo

前往低代码交流专区

更多推荐