EnumSelectWidget.vue 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <template>
  2. <div :style="style">
  3. <a-select
  4. v-model:value="selectedValue"
  5. @change="selectChanged"
  6. >
  7. <a-select-option v-for="keyValue in keyValues" :key="keyValue.keyStr" :value="keyValue.keyStr">
  8. {{ keyValue.value }}
  9. </a-select-option>
  10. </a-select>
  11. </div>
  12. <!-- <div class="form-group">
  13. <div>
  14. <select
  15. v-model="selectedValue"
  16. class="form-control"
  17. >
  18. <option
  19. v-for="keyValue in keyValues"
  20. :key="keyValue.keyStr"
  21. :value="keyValue.keyStr"
  22. >
  23. {{ keyValue.value }}
  24. </option>
  25. </select>
  26. </div>
  27. </div> -->
  28. </template>
  29. <script>
  30. export default {
  31. props: {
  32. 'keyValues':{
  33. type: Array,
  34. default: function(){
  35. return [];
  36. },
  37. },
  38. 'enumValue':{
  39. type: String,
  40. default: '',
  41. },
  42. 'style': {
  43. type: Object,
  44. default: null,
  45. },
  46. },
  47. emits: ['valueChanged'],
  48. data: function () {
  49. return {
  50. selectedValue: (this.enumValue == undefined ? '' : this.enumValue),
  51. };
  52. },
  53. // watch: {
  54. // selectedValue: function (curVal, oldVal) {
  55. // console.log('Enum Selected Value changed:' + curVal);
  56. // if (curVal != oldVal) {
  57. // this.$emit('valueChanged', curVal);
  58. // }
  59. // },
  60. // enumValue: function (val) {
  61. // this.selectedValue = val;
  62. // },
  63. // },
  64. methods: {
  65. selectChanged(value) {
  66. this.$emit('valueChanged', value);
  67. },
  68. },
  69. };
  70. </script>
  71. <style scoped>
  72. .required-mark {
  73. color: red;
  74. margin-right: 10px;
  75. }
  76. </style>