You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
943 B
33 lines
943 B
<template>
|
|
<div>
|
|
<select class="form-control" :name="name" v-model="currentValue">
|
|
<option :value="null">请选择</option>
|
|
<option v-for="item in list" :value="item.value">{{item.text}}</option>
|
|
</select>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
export default {
|
|
props: ['name', 'value', 'data'],
|
|
data: function () {
|
|
return {
|
|
currentValue: this.value
|
|
};
|
|
},
|
|
watch: {
|
|
currentValue(val) {
|
|
this.$emit('update:value', val);
|
|
this.$emit('change', this.name);
|
|
}
|
|
},
|
|
computed: {
|
|
list: function () {
|
|
var key = this.name;
|
|
if (this.prefix) {
|
|
key = this.name.substring(this.prefix.length + 1);
|
|
}
|
|
return this.data[key + 'SelectList'];
|
|
}
|
|
}
|
|
};
|
|
</script> |