vue3中的reactive对象赋值问题

对象

const roleInfo: UnwrapRef<Role> = reactive({
                id: undefined,
                name: '',
                nameZh: '',
                crateTime:undefined,
                creator: '',
                summary:''
            });

赋值

const handleEdit = (role :Role)=>{
                addFlag.value = false;
                visible.value = true;
                roleInfo.id = role.id;
                roleInfo.name = role.name;
                roleInfo.nameZh = role.nameZh;
                roleInfo.crateTime = role.crateTime;
                roleInfo.creator = role.creator;
                console.log(roleInfo)
            }

这个怎么快速的赋值呢?并且可以被监听到,不会丢掉响应性

阅读 28.5k
2 个回答

Object.assign(roleInfo, newObj)

需要做点改造,有两种方式:


使用reactive

你需要再嵌套一层,如:

`const roleInfo = reactive({data: {
xxx: 'ooo'
}})`

更新时:

roleInfo.data = { xxx: 'aaa' }


使用ref

const roleInfo = ref({xxx: 'ooo'})

更新:

roleInfo.value = { xxx: 'aaa' }

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题