vue v-model 与 组件化的表单组件如何沟通
Posted cylee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue v-model 与 组件化的表单组件如何沟通相关的知识,希望对你有一定的参考价值。
参考mint-ui的代码:
https://github.com/ElemeFE/mint-ui/blob/master/packages/radio/src/radio.vue
https://github.com/ElemeFE/mint-ui/blob/master/packages/field/src/field.vue
直接上代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="https://cdn.bootcss.com/vue/2.5.16/vue.min.js"></script> <style> </style> <body> <div id="app"> <div v-for=‘(item, index) in items‘ :key=‘index‘> <myradio v-model="picked" :text="item"></myradio> </div> <br> <span>Picked: {{ picked }}</span> </div> </body> <script> // 局部注册组件 var myradio = Vue.extend({ data: function () { return { currentValue: this.value } }, props: { value: ‘‘, text: ‘‘ }, template: ` <label> <input type="radio" id="two" :value="text" v-model="currentValue"> <label for="two">{{ text }}</label> </label> `, watch: { value(val) { this.currentValue = val; }, currentValue(val) { this.$emit(‘input‘, val); } } }); Vue.component(‘myradio‘, myradio) new Vue({ el: ‘#app‘, data: { picked: ‘Three‘, items: [‘One‘, ‘Two‘, ‘Three‘] } }) </script> </html>
以上是关于vue v-model 与 组件化的表单组件如何沟通的主要内容,如果未能解决你的问题,请参考以下文章