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

Vue.js v-model指令无法更新Konsta UI Toggle组件状态

解决Konsta UI Toggle组件Vue v-model不生效问题

Konsta UI的kToggle组件没有遵循Vue默认的v-model约定(默认绑定value属性和input事件),它使用checked作为状态属性,触发的是change事件,因此直接使用v-model="checked"无法正常同步状态。

要让v-model生效,需要显式指定v-model绑定的属性为checked,使用Vue的v-model参数语法:

<k-toggle v-model:checked="checked" />

修改后的完整代码示例:

<script setup lang="ts">
import { kPage, kBlock, kToggle } from 'konsta/vue';
import { ref } from 'vue';

const checked = ref(false);
</script>

<template>
  <k-page>
    <k-block class="space-y-4">
      <p>:checked: {{ checked }}</p>
      <k-toggle :checked="checked" @change="() => checked = !checked" />
    </k-block>

    <k-block class="space-y-4">
      <p>v-model: {{ checked }}</p>
      <!-- 显式指定绑定checked属性 -->
      <k-toggle v-model:checked="checked" />
    </k-block>

    <k-block class="space-y-4">
      <p>checkbox: {{ checked }}</p>
      <input type="checkbox" v-model="checked" />
    </k-block>
  </k-page>
</template>

修改后,v-model就能正确同步checked的状态,和原生checkbox的行为保持一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 17:55:04