selection.vue 566 Bytes
<template>
  <select v-model="selected">
    <option v-if="empty" value="">{{emptyText}}</option>
    <option v-for="item in list" :value="item.value!=undefined?item.value: item">{{ item.label || item }}</option>
  </select>
</template>
<script>
  module.exports = {
    props: {
      list: {
        type: Array,
        require: true
      },
      selected: {
        twoWay: true
      }, 
      empty: {
        type: Boolean,
        default: true
      },
      emptyText: {
        type: String,
        default: '--请选择--'
      }
    }
  };
</script>