main
vue 29 lines 908 Bytes
Raw
1 <template>
2 <n-form :model label-placement="left" label-width="auto">
3 <n-form-item label="Protocol" required>
4 <n-radio-group v-model:value="model.protocol">
5 <n-radio-button value="tcp">TCP</n-radio-button>
6 </n-radio-group>
7 </n-form-item>
8
9 <n-form-item label="Hot Data Retention (days)" required>
10 <n-input-number v-model:value="model.hot_data_retention" :min="1" :max="90" class="w-full" />
11 </n-form-item>
12
13 <n-form-item label="Index Replicas" required>
14 <n-input-number v-model:value="model.index_replicas" :min="0" :max="3" class="w-full" />
15 </n-form-item>
16 </n-form>
17 </template>
18
19 <script setup lang="ts">
20 import { NForm, NFormItem, NInputNumber, NRadioButton, NRadioGroup } from "naive-ui"
21
22 export interface SonicWallModel {
23 protocol: "tcp"
24 hot_data_retention: number
25 index_replicas: number
26 }
27
28 const model = defineModel<SonicWallModel>("options", { required: true })
29 </script>