You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quasar中如何通过函数修改ref变量值?尝试toggleText未生效

问题解决:无法修改ref变量的值

你代码里的问题很明确:用ref()创建的响应式变量,不能直接覆盖整个变量,必须修改它的.value属性。

原代码里直接写showText = idx,相当于把showText从ref响应式对象换成了普通的idx值,既丢了响应式,也没真正修改原来的ref变量内容。

修正后的代码如下:

let showText = ref('')
const toggleText = function (idx){          
  showText.value = idx  // 关键:通过.value修改ref内部的值
  return showText.value  // 要是需要返回当前值,也得取.value
}
return {
  MYITEMS,
  toggleText,
  showText,    
}

简单说下原理:Vue的ref会把基本类型值包装成一个响应式对象,只有操作这个对象的.value属性,才能触发响应式更新,UI也会跟着同步变化。直接覆盖变量的话,就破坏了这个响应式绑定。

内容的提问来源于stack exchange,提问作者Sona Rijesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 07:24:54