1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
| <template>
| <template
| v-if="!data.options && data.callback && data.callback(data)"
| ></template>
| <el-radio-group
| v-else
| v-model="value"
| :disabled="disabled"
| @change="handlerChange"
| >
| <el-radio
| v-for="radio in data.options"
| :key="radio[data.key_value] || radio.value"
| :label="radio[data.key_value] || radio.value"
| >
| {{ radio[data.key_label] || radio.label }}
| </el-radio>
| </el-radio-group>
| </template>
|
| <script>
| import { reactive, toRefs, watch } from "vue";
| // API
| // import { RoleListAll } from "@/api/role";
| export default {
| name: "DateComponent",
| props: {
| data: {
| type: Object,
| default: () => ({}),
| },
| value: {
| type: [Number, String],
| default: "",
| },
| disabled: Boolean,
| },
| emits: ["update:value", "callback"],
| setup(props, { emit }) {
| const dataa = reactive({
| value: "",
| data: props.data,
| });
| watch(
| () => props.data,
| () => {
| RoleListAll().then(
| (response) => {
| console.log(111);
| },
| {
| deep: true,
| immediate: true,
| }
| );
| }
| );
| const handlerChange = (val) => {
| emit("update:value", val);
| emit("callback", {
| type: "radio",
| value: val,
| formItem: props.data,
| });
| };
| return {
| handlerChange,
| };
| },
| };
| </script>
|
|