自定义vue组件的v-model支持教程
made with Vuejs

自定义vue组件的v-model支持教程

如何为自定义Vue.js组件添加v-model支持?

相关问答
暂无相关问题
查看全部
简介

尽管v-model是用于向原始组件添加双向数据绑定的强大资产,但是如何在自己的自定义组件中添加对v-model的支持并不总是显而易见。

要了解如何在组件中实现v模型支持,您需要了解其幕后工作方式。尽管看起来很神奇,但v-model=”syncedProp”实际上是:value=”syncedProp” @input=”syncedProp = arguments[0]”(或:value=”syncedProp” @input=”syncedProp = $event.target.value”)的简写。

因此,与v-model兼容的所有组件所需要做的就是接受:value属性,并在用户更改值时发出@input事件。

<template>
  <div class="date-picker">
    Month: <input type="number" ref="monthPicker" :value="value.month" @input="updateDate()"/>
    Year: <input type="number" ref="yearPicker" :value="value.year" @input="updateDate()"/>
  </div>
</template>

<script>
export default {
  props: ['value'],

  methods: {
    updateDate() {
      this.$emit('input', {
        month: +this.$refs.monthPicker.value,
        year: +this.$refs.yearPicker.value
      })
    }
  }
};
</script>
作者

alligatorio

@alligatorio

相关项目

这是有用的Vue模式、技巧、提示和技巧以及有帮助的精选链接集合。
这是一个使用Vue.js的离线Masonry 网格示例教程。
这是一个(Vue.js,Vuetify,NW.js)系列教程。
这是一个能够进行直接辅导的Vue.js基础教程。
这是一套让你了解如何对Vue组件进行TDD的教程。
这是一个展示电影上映时间的应用。
这是使用React Hooks的挂钟🕐组件及开发教程。