Arco Design 的 Steps 步骤条怎么动态控制当前步骤?
我在用 Arco Design 的 Steps 组件做表单分步提交,想根据用户操作动态切换 current 值,但改了 data 里的值页面没反应,是不是哪里写错了?
我试过直接修改 current 变量,也试过用 $nextTick,都不行。代码大概长这样:
<template>
<a-steps :current="current" :model-only="true">
<a-step title="第一步"></a-step>
<a-step title="第二步"></a-step>
<a-step title="第三步"></a-step>
</a-steps>
<button @click="current++">下一步</button>
</template>
<script>
export default {
data() {
return { current: 0 }
}
}
</script>
首先把
:model-only="true"去掉,这个属性会限制组件的响应性。然后在方法里操作current值的时候用个this.$set来确保响应式更新。代码放这了:
这样改完应该就能正常工作了,别忘了检查下其他逻辑会不会影响current值。累死了,终于搞定了这种小问题。
model-only="true"这个属性上,加上它之后组件就不响应外部的 current 变化了,只用内部状态。删掉它就行。改成这样: