vue3 模板语法?

// a-select 无法对 value 的变化进行反应
<template>
    <a-select :="api" ... />
</template>

<script setup lang="ts">
    ...
    const { value } = defineProps(['value']);
    const api = {  value , ...     }
</script>  
// a-select 可以对 value 的变化进行反应
<template>
    <a-select :value="value"  :="api" ... />
</template>

<script setup lang="ts">
    ...
    const { value } = defineProps(['value']);
    const api = {    ...     }
</script>  

这是什么原因导致的呢?
我想维持 const api = { value , ... } 这样的写法要如何做呢?

"ant-design-vue": "^4.0.2", 
"vue": "^3.2.45",
阅读 575
1 个回答

首先value是响应式数据,下面的写法,value更新会触发template的更新,而上面的写法,api不是一个响应式数据,value的改变不会通知到template,让组件进行更新,可以使用watch或computed等

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