vue11个钩子函数(vue3.0钩子函数)

vue11个钩子函数(vue3.0钩子函数)可以使用 Vue 3 中的组合式 API 来实现一个多个 checkbox 复选框 的组件 首先 需要在组件中定义一个 data 变量来存储选中的值 import reactive from em vue em export default setup const state reactive

大家好,我是讯享网,很高兴认识大家。

可以使用Vue3中的组合式API来实现一个多个checkbox复选框的组件。

首先,需要在组件中定义一个data变量来存储选中的值:

import { reactive } from &#39;<em>vue</em>&#39;; export default { setup() { const state = reactive({ checkedValues: [], }); return { state, }; }, }; 

讯享网

然后,在模板中使用v-for指令来渲染多个checkbox,并绑定checked属性和change事件:


讯享网

讯享网&lt;template&gt; &lt;div&gt; &lt;label v-for=&quot;(option, index) in options&quot; :key=&quot;index&quot;&gt; &lt;input type=&quot;<em>checkbox</em>&quot; :value=&quot;option.value&quot; v-model=&quot;state.checkedValues&quot; @change=&quot;handleChange&quot;&gt; {{ option.label }} &lt;/label&gt; &lt;/div&gt; &lt;/template&gt; 

在change事件处理函数中,可以获取到选中的值,并将其存储到data变量中:

import { reactive } from &#39;<em>vue</em>&#39;; export default { setup() { const state = reactive({ checkedValues: [], }); const options = [ { value: &#39;option1&#39;, label: &#39;选项1&#39; }, { value: &#39;option2&#39;, label: &#39;选项2&#39; }, { value: &#39;option3&#39;, label: &#39;选项3&#39; }, ]; function handleChange() { console.log(state.checkedValues); } return { state, options, handleChange, }; }, }; 

最后,可以在组件外部使用该组件,并监听其checkedValues变量的变化:

讯享网&lt;template&gt; &lt;div&gt; &lt;<em>Checkbox</em>Group v-model=&quot;checkedValues&quot; /&gt; &lt;p&gt;选中的值:{{ checkedValues }}&lt;/p&gt; &lt;/div&gt; &lt;/template&gt; &lt;script&gt; import <em>Checkbox</em>Group from &#39;https://blog.csdn.net/Dandrose/article/details/<em>Checkbox</em>Group.<em>vue</em>&#39;; import { reactive } from &#39;<em>vue</em>&#39;; export default { components: { <em>Checkbox</em>Group, }, setup() { const state = reactive({ checkedValues: [], }); return { state, }; }, }; &lt;/script&gt; 

这样,就可以实现一个多个checkbox复选框的组件。

小讯
上一篇 2025-04-17 09:17
下一篇 2025-04-20 17:07

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/164319.html