MyRadioButtonGroup.vue 998 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <template>
  2. <el-radio-group
  3. v-model="selectValue"
  4. :filterable="filterable"
  5. :clearable="clearable"
  6. :placeholder="placeholder"
  7. :disabled="disabled"
  8. style="width: 100%"
  9. @change="change"
  10. >
  11. <el-radio-button
  12. v-for="option in options"
  13. :key="option.id"
  14. :label="option.id"
  15. >{{ option.name }}</el-radio-button>
  16. </el-radio-group>
  17. </template>
  18. <script>
  19. export default {
  20. name: 'MyRadioButtonGroup',
  21. props: {
  22. value: {
  23. required: true
  24. },
  25. options: {
  26. required: true,
  27. type: Array
  28. },
  29. filterable: {
  30. type: Boolean
  31. },
  32. clearable: {
  33. type: Boolean
  34. },
  35. placeholder: {},
  36. disabled: {
  37. type: Boolean
  38. }
  39. },
  40. computed: {
  41. selectValue: {
  42. set (value) {
  43. this.$emit('input', value)
  44. },
  45. get () {
  46. return this.value
  47. }
  48. }
  49. },
  50. methods: {
  51. change (...args) {
  52. this.$emit('change', ...args)
  53. }
  54. }
  55. }
  56. </script>
  57. <style lang="scss"></style>