From dd58c1d3a27ba48a5df050aab7c586bb9b988914 Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期三, 09 四月 2025 18:01:22 +0800 Subject: [PATCH] activeTopMenuStyle --- src/components/chat/chatComponents/contentCbCom/Select.vue | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/src/components/chat/chatComponents/contentCbCom/Select.vue b/src/components/chat/chatComponents/contentCbCom/Select.vue new file mode 100644 index 0000000..c1dd563 --- /dev/null +++ b/src/components/chat/chatComponents/contentCbCom/Select.vue @@ -0,0 +1,43 @@ +<template> + <div class="flex flex-col gap-1"> + <span class="text-gray-600 font-normal">{{ `${item?.label}` }}</span> + <div v-if="item?.options?.length > 0" class="flex-items-center gap-5"> + <span + @click="select(subItem)" + v-for="(subItem, index) in item?.options" + :key="index" + class="flex w-fit items-center cursor-pointer border-solid border px-3 border-gray-300 hover:text-white rounded-lg" + :class="{ + 'cursor-not-allowed': disabled, + 'bg-blue-400': subItem.value === item.value, + 'text-white': subItem.value === item.value, + }" + >{{ subItem.label }}</span + > + </div> + </div> +</template> + +<script setup lang="ts"> +import { ref, watch } from 'vue'; +import { ParentRegister } from '/@/stores/global'; +const props = defineProps(['item', 'disabled']); + +let hasExecute = false; + +const select = (option) => { + if (hasExecute) return; + props.item.value = option.value; + hasExecute = true; + + ParentRegister.notify?.({ + type: 'msg_callback', + value: { + type: props.item.type, + value: option.value, + event: props.item.event, + }, + }); +}; +</script> +<style scoped lang="scss"></style> -- Gitblit v1.9.3