VUE0003:Naive UI库:滑动条,单选,多选组件
1,滑动条,单选,多选组件

<template>
<n-scrollbar class="show-scrollbar">
<n-space class="map-setting" vertical>
<n-space style="flex-flow: row; align-items: center;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;" >加载比例</n-text>
<n-slider
style="padding: 8px; width: 160px;height: 28px;align-content: center;border-radius: 4px;background-color: #2080F0;"
:min="1"
:step="1"
:max="maxPointNum"
@dragend="handleDragSaveSetting"
v-model:value="mapDrawingStore.mapSetting.pointNum"/>
<n-input-number
:min="1"
:max="maxPointNum"
:show-button="false"
size="small"
style="width: 80px; color: #fff;"
v-model:value="mapDrawingStore.mapSetting.pointNum"
@blur="handleDragSaveSetting">
<template #suffix>万</template>
</n-input-number>
</n-space>
<n-space style="flex-flow: row; align-items: center; width: 340px;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">控制模式</n-text>
<n-radio-group v-model:value="mapDrawingStore.mapSetting.control">
<n-space style="gap: 1px 1px;">
<n-radio-button class="radio-btn" style="width: 80px;" value="orbit">轨道</n-radio-button>
<n-radio-button class="radio-btn" style="width: 80px;" value="fly">飞行</n-radio-button>
</n-space>
</n-radio-group>
</n-space>
<n-space style="flex-flow: row; align-items: center; width: 340px;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">显示质量</n-text>
<n-radio-group v-model:value="mapDrawingStore.mapSetting.quality" @update:value="handleDragSaveSetting">
<n-space style="gap: 1px 1px;">
<n-radio-button class="radio-btn" style="width: 80px;" value="low">低质量</n-radio-button>
<n-radio-button class="radio-btn" style="width: 80px;" value="height">高质量</n-radio-button>
</n-space>
</n-radio-group>
</n-space>
<n-space style="flex-flow: row; align-items: center; width: 340px;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">显示内容</n-text>
<n-space style="gap: 1px 1px;">
<n-button
v-for="(item, index) of showOptions"
:key="'showContent' + index"
style="width: 60px; height: 30px;"
:type="item.active ? 'primary' : ''"
@click="handleVisible(item)">
{{ item.label }}
</n-button>
</n-space>
</n-space>
<n-space style="flex-flow: row; align-items: center; width: 340px;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">显示模式</n-text>
<n-radio-group v-model:value="mapDrawingStore.mapSetting.cameraMode">
<n-space style="gap: 1px 1px;">
<n-radio-button class="radio-btn" style="width: 80px;" value="o">正交</n-radio-button>
<n-radio-button class="radio-btn" style="width: 80px;" value="p">透视</n-radio-button>
</n-space>
</n-radio-group>
</n-space>
<n-space style="flex-flow: row; align-items: center; width: 340px;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">渲染模式</n-text>
<n-radio-group v-model:value="mapDrawingStore.mapSetting.cameraMode">
<n-space style="gap: 1px 1px;">
<n-radio-button class="radio-btn" style="width: 80px;" value="o">表面</n-radio-button>
<n-radio-button class="radio-btn" style="width: 80px;" value="p">XRAY</n-radio-button>
</n-space>
</n-radio-group>
</n-space>
<n-space style="flex-flow: row; align-items: center; width: 340px;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">着色模式</n-text>
<n-radio-group v-model:value="mapDrawingStore.mapSetting.showColor">
<n-space style="gap: 1px 1px;">
<n-radio-button class="radio-btn" style="width: 80px;" value="rgb">RGB</n-radio-button>
<n-radio-button class="radio-btn" style="width: 80px;" value="color">单色</n-radio-button>
</n-space>
</n-radio-group>
</n-space>
<n-space style="flex-flow: row; align-items: center;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">点云大小</n-text>
<n-slider
style="padding: 8px; width: 160px;height: 28px;align-content: center;border-radius: 4px;background-color: #2080F0;"
:min="0.1"
:max="10"
:step="0.01"
v-model:value="mapDrawingStore.mapSetting.pointCloudSize"/>
<n-input-number
:min="0.1"
:max="10"
:step="0.01"
size="small"
:show-button="false"
style="width: 80px; color: #fff"
v-model:value="mapDrawingStore.mapSetting.pointCloudSize">
</n-input-number>
</n-space>
<n-space style="flex-flow: row; align-items: center; width: 340px;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">大小类型</n-text>
<n-radio-group v-model:value="mapDrawingStore.mapSetting.showColor">
<n-space style="gap: 1px 1px;">
<n-radio-button class="radio-btn" style="width: 80px;" value="rgb">固定</n-radio-button>
<n-radio-button class="radio-btn" style="width: 80px;" value="color">衰减</n-radio-button>
<n-radio-button class="radio-btn" style="width: 80px;" value="rgb">自适应</n-radio-button>
</n-space>
</n-radio-group>
</n-space>
<n-divider style="margin-top: 24px; width: 330px; " />
<n-space style="flex-flow: row; align-items: center; width: 340px;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">透明模式</n-text>
<n-radio-group v-model:value="mapDrawingStore.mapSetting.showColor">
<n-space style="gap: 1px 1px;">
<n-radio-button class="radio-btn" style="width: 80px;" value="rgb">自动</n-radio-button>
<n-radio-button class="radio-btn" style="width: 80px;" value="color">手动</n-radio-button>
</n-space>
</n-radio-group>
</n-space>
<n-space style="flex-flow: row; align-items: center;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;" >透明调节</n-text>
<n-slider
style="padding: 8px; width: 160px;height: 28px;align-content: center;border-radius: 4px;background-color: #2080F0;"
:min="0"
:max="1"
:step="0.01"
v-model:value="mapDrawingStore.mapSetting.pointCloudOpacity" />
<n-input-number
:min="0"
:max="1"
:step="0.01"
size="small"
:show-button="false"
style="width: 80px; color: #fff"
v-model:value="mapDrawingStore.mapSetting.pointCloudOpacity">
</n-input-number>
</n-space>
<n-divider style="margin-top: 24px; width: 330px; " />
<n-space style="flex-flow: row; align-items: center;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">显示长度</n-text>
<n-slider
style="padding: 8px; width: 160px;height: 28px;align-content: center;border-radius: 4px;background-color: #2080F0;"
:min="0"
:step="0.01"
@dragend="handleDragSaveSetting"
:max="mapDrawingStore.mapSetting.maxShowHieght"
v-model:value="mapDrawingStore.mapSetting.showHeight"/>
<n-input-number
:min="0"
:step="0.01"
:show-button="false"
size="small"
style="width: 80px; color: #fff"
:max="mapDrawingStore.mapSetting.maxShowHieght"
v-model:value="mapDrawingStore.mapSetting.showHeight"
@blur="handleDragSaveSetting">
<template #suffix>米</template>
</n-input-number>
</n-space>
<n-space style="flex-flow: row; align-items: center;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">显示宽度</n-text>
<n-slider
style="padding: 8px; width: 160px;height: 28px;align-content: center;border-radius: 4px;background-color: #2080F0;"
:min="0"
:step="0.01"
@dragend="handleDragSaveSetting"
:max="mapDrawingStore.mapSetting.maxShowHieght"
v-model:value="mapDrawingStore.mapSetting.showHeight"/>
<n-input-number
:min="0"
:step="0.01"
:show-button="false"
size="small"
style="width: 80px; color: #fff"
:max="mapDrawingStore.mapSetting.maxShowHieght"
v-model:value="mapDrawingStore.mapSetting.showHeight"
@blur="handleDragSaveSetting">
<template #suffix>米</template>
</n-input-number>
</n-space>
<n-space style="flex-flow: row; align-items: center;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">显示高度</n-text>
<n-slider
style="padding: 8px; width: 160px;height: 28px;align-content: center;border-radius: 4px;background-color: #2080F0;"
:min="0"
:step="0.01"
@dragend="handleDragSaveSetting"
:max="mapDrawingStore.mapSetting.maxShowHieght"
v-model:value="mapDrawingStore.mapSetting.showHeight"/>
<n-input-number
:min="0"
:step="0.01"
:show-button="false"
size="small"
style="width: 80px; color: #fff"
:max="mapDrawingStore.mapSetting.maxShowHieght"
v-model:value="mapDrawingStore.mapSetting.showHeight"
@blur="handleDragSaveSetting">
<template #suffix>米</template>
</n-input-number>
</n-space>
<n-divider style="margin-top: 24px; width: 330px; " />
<n-space style="flex-flow: row; align-items: center; width: 340px;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">深度增强</n-text>
<n-space style="gap: 1px 1px;">
<n-button style="width: 26px; height: 26px;"></n-button>
</n-space>
</n-space>
<n-space style="flex-flow: row; align-items: center; width: 340px;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">三窗视图</n-text>
<n-space style="gap: 1px 1px;">
<n-button style="width: 26px; height: 26px;"></n-button>
</n-space>
</n-space>
<n-space style="flex-flow: row; align-items: center; width: 340px;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">视角控件</n-text>
<n-space style="gap: 1px 1px;">
<n-button style="width: 26px; height: 26px;"></n-button>
</n-space>
</n-space>
<n-space style="flex-flow: row; align-items: center; width: 340px;">
<n-text class="color-white" style="width: 60px; display: flex; font-size: 15px;">状态展示</n-text>
<n-space style="gap: 1px 1px;">
<n-button style="width: 26px; height: 26px;"></n-button>
</n-space>
</n-space>
<!-- <div class="close" @click="handleClose">
<svg-icon local-icon="map-setting-close"></svg-icon>
</div> -->
</n-space>
</n-scrollbar>
</template>
琥珀君的博客

浙公网安备 33010602011771号