Vue自定义组件v-model的使用

组件base-select  ,一个自定义的select-options选择组件。
<template>
<div>
  <span v-for="item in list" :key="item.value"
       :class="{'selected':isSelected(item)}"
        @click='$emit("change",item)'    //有时候我们需要把整个对象传出去。
        >
    {{item.name}}
  </span>
</div>

</template>
<script>
  export default {
    model: {
      event: 'change'
    },
    props: {
      value: ''
    },
    data(){
      return {
        list:[{value:1,name:'我是1'},{value:2,name:'我是2'}]
      }
    },
    methods: {
        isSelected(item) {
            if(this.value instanceof Object){
              return item.value === this.value.value;
            }else{
              return item.value === this.value;
            }

        }
    }
  }
</script>
<style lang="less" rel="stylesheet/less" scoped>
.selected{
  color:#f00;
}
</style>

<template>
  <div>
    <base-select v-model="value"></base-select>
  </div>
</template>
<script>
  import baseSelect from './base-select';
  export default {
    components:{
      baseCheckbox
    },
    data() {
      return {
        value: 1
      }
    }
  }
</script>
<style lang="less" rel="stylesheet/less" scoped>
</style>

官方文档-自定义组件的 v-model

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 您将在本文当中了解到,往网页中添加数据,从传统的dom操作过渡到数据层操作,实现同一个目标,两种不同的方式....
    itclanCoder阅读 26,052评论 1 12
  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 12,008评论 0 25
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 10,456评论 0 29
  • 主要还是自己看的,所有内容来自官方文档。 介绍 Vue.js 是什么 Vue (读音 /vjuː/,类似于 vie...
    Leonzai阅读 8,655评论 0 25
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 13,787评论 4 129