ServerConfigModal.vue
1.49 KB
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
<template>
<div>
<BasicModal
v-bind="$attrs"
width="30rem"
:height="heightNum"
@register="register"
title="Add new server config"
@cancel="handleCancel"
:showOkBtn="true"
@ok="handleSubmit"
v-model:visible="visible"
>
<div style="display: flex; align-items: center; justify-content: center">
<h2>Server type:</h2>
<Select
v-model:value="selectValue"
style="width: 340px"
:options="selectOptions"
@change="emitChange"
/>
</div>
</BasicModal>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue';
import { BasicModal, useModalInner } from '/@/components/Modal';
import { Select } from 'ant-design-vue';
import { SelectTypes } from 'ant-design-vue/es/select';
const emit = defineEmits(['register', 'emitSelect']);
const [register] = useModalInner((data) => {
console.log(data);
});
const heightNum = ref(80);
const visible = ref(false);
const selectValue = ref('LwM2M');
const selectOptions = ref<SelectTypes['options']>([
{
label: 'LwM2M Server',
value: 'LwM2M',
},
{
label: 'Bootstrap Server',
value: 'Bootstrap',
},
]);
const emitChange = (e) => {
selectValue.value = e;
};
const handleSubmit = () => {
emit('emitSelect', selectValue.value);
handleCancel();
};
const handleCancel = () => {
visible.value = false;
};
</script>
<style lang="less" scoped></style>