maxkb/ui/src/components/dynamics-form/items/radio/Radio.vue
wangdan-fit2cloud 69e35b36aa feat: layout
2025-04-28 18:15:41 +08:00

39 lines
979 B
Vue

<template>
<el-radio-group v-bind="$attrs">
<el-radio v-for="(item, index) in option_list" :key="index" :label="item[valueField]">
<div v-html="label(item)"></div>
</el-radio>
</el-radio-group>
</template>
<script setup lang="ts">
import { computed } from 'vue'
import type { FormField } from '@/components/dynamics-form/type'
import _ from 'lodash'
const props = defineProps<{
formValue?: any
formfieldList?: Array<FormField>
field: string
otherParams: any
formField: FormField
view?: boolean
}>()
const textField = computed(() => {
return props.formField.text_field ? props.formField.text_field : 'key'
})
const valueField = computed(() => {
return props.formField.value_field ? props.formField.value_field : 'value'
})
const option_list = computed(() => {
return props.formField.option_list ? props.formField.option_list : []
})
const label = (option: any) => {
return option[textField.value]
}
</script>
<style lang="scss"></style>