index.jsx 674 B

1234567891011121314151617181920212223
  1. import { ElIcon } from 'element-plus'
  2. import './index.less'
  3. export default {
  4. props: {
  5. modelValue: {},
  6. options: {}
  7. },
  8. emits: ['update:modelValue', 'change'],
  9. setup (props, { emit }) {
  10. const change = (value) => {
  11. emit('update:modelValue', value)
  12. emit('change', value)
  13. }
  14. return () => <div class={'equipment-radio'}>
  15. {(props.options || []).map(option => (
  16. <div
  17. class={['equipment-radio__option', { 'equipment-radio__option--active': option.value === props.modelValue }]}
  18. onClick={() => change(option.value)}>
  19. <ElIcon size={14} >{option.svg.render()}</ElIcon>
  20. </div>))}
  21. </div>
  22. }
  23. }