当前位置: 首页 > wzjs >正文

ps毕业设计做网站界面常德网站建设企业

ps毕业设计做网站界面,常德网站建设企业,自己怎么设计公主裙,金乡做网站 亿九1.为DbSelect组件新添加showDb字段 :show-db"false"时只显示集群不显示数据库信息 重构 cluster-db 选择器&#xff0c;新增限制字段 showDb 不影响原功能前提实现查询功能增量拓展,。保证组件**高可用性,减少冗余方法的编写,提高整体代码复用性和维护性**。 <!-…

1.为DbSelect组件新添加showDb字段 :show-db="false"时只显示集群不显示数据库信息

重构 cluster-db 选择器,新增限制字段 showDb 不影响原功能前提实现查询功能增量拓展,。保证组件**高可用性,减少冗余方法的编写,提高整体代码复用性和维护性**。

<!-- 简易版 cluster-db选择器 支持筛选,需要传递emit onChange来获取返回值 -->
<!-- 返回值为数据,第一个是 集群, 第二个是 DB:ID ["base_dms_platform","dms_main_beta:1"
] -->
<template><Cascader2v-model:model-value="selectedValue":options="filteredOptions"filterableremotehideAfterSelect:filter-method="handleFilter"@change="handleChange"></Cascader2>
</template>
​
<script lang="ts" setup>
import { Cascader2, OptionContent, useDebounce } from '@xhs/delight'
import { onBeforeMount, Ref, ref } from 'vue'
import { getDbByEnv } from '~/page/mysql/SQLQuery/service'
​
const props = defineProps<{env: stringshowDb?: boolean  // 添加 showDb 属性,控制是否显示数据库选项
}>(),{showDb: true
}
​
const emit = defineEmits(['onChange'])
const optionsContents: Ref<OptionContent[]> = ref([])
const filteredOptions: Ref<OptionContent[]> = ref([])
​
const getClusterAndDbOptions = () => {getDbByEnv({ env: props.env }).then((res) => {const databases = resconst clusters: Record<string, (typeof databases)[number][]> = {}databases.forEach((db) => {const cluster = db.clusterNameif (!clusters[cluster]) clusters[cluster] = []clusters[cluster].push(db)})// 生成下拉选项optionsContents.value = Object.entries(clusters).map(([cluster, dbs]) => ({value: cluster,label: cluster,...(props.showDb && {children: dbs.map((db: any) => ({label: db.dbname,value: db.dbname + ':' + db.id}))})}))filteredOptions.value = optionsContents.value})
}
​
onBeforeMount(() => {getClusterAndDbOptions()
})
​
const selectedValue = ref([])
​
const handleFilter: any = useDebounce((value: string) => {const lowerValue = value.toLowerCase()
​filteredOptions.value = optionsContents.value.map((item: any) => {if (item.children) {// 过滤子节点const filteredChildren = item.children.filter((child: any) =>child.label.toLowerCase().includes(lowerValue))// 如果父节点的label匹配,保留所有子节点if (item.label.toLowerCase().includes(lowerValue)) {return { ...item, children: item.children }}// 如果有符合条件的子节点,保留父节点并更新子节点if (filteredChildren.length > 0) {return { ...item, children: filteredChildren }}} else {// 如果是单层结构直接匹配if (item.label.toLowerCase().includes(lowerValue)) {return item}}return null // 无符合条件的节点}).filter((item: any) => item !== null)
​return false},{delay: 200}
)
​
const handleChange = () => {emit('onChange', selectedValue.value)
}
</script>

主要修改点:

  1. ...(props.showDb !== false && { 简化为 ...(props.showDb && {

  2. 这样当 showDbfalseundefined 时,不会添加 children 属性

  3. showDbtrue 时,会添加 children 属性

使用方式

<!-- 只显示集群信息 -->
<DbSelect env="sit" :show-db="false"@on-change="handleTargetClusterChange"
/>
​
<!-- 显示集群和数据库信息(默认行为) -->
<DbSelect env="sit" @on-change="handleTargetClusterChange"
/>

http://www.dtcms.com/wzjs/832384.html

相关文章:

  • 东莞在线网站制作平台泰州seo推广
  • 濮阳手机网站建设做app布局参考哪个网站
  • 友汇网 做公司网站金融公司网站模版
  • 山东集团网站建设 中企动力wordpress 设置页面内容具有缓存性
  • 网站的建设公司简介wordpress永久链接
  • 辽宁千山科技做网站怎么样网站开发现在用什么
  • 幼儿网站源代码浏网站建设补贴
  • 一家专门做护肤的网站哪个推广平台效果好
  • h5技术网站美食app界面设计模板
  • 学校网站框架中企动力在业内口碑如何
  • 邯郸做网站网络公司qq刷赞网站怎么做的
  • 兴城泳装电子商务网站建设怎么推广自己的偏方
  • 便宜做网站怎么样中信建设有限责任公司总经理
  • 网站开发标书网站上线流程分为
  • 一个网站一级栏目视频模板网站推荐
  • 建筑企业招聘网站家居行业网站开发
  • 网站建设顾问站建上海专业网站建设网站
  • 如何做好网站seo网站备案变更
  • 物流网站开发实训WordPress页面模板功能不见了
  • 深圳网站建设是什么重庆门户网站推广方案
  • 百度云网盘资源搜索引擎入口济南关键词优化费用情况
  • 大型门户网站建设大概多少钱wordpress分类目录和导航栏
  • 做便宜网站郫县哪里有做网站的
  • 郑州投资网站建设vi设计步骤流程
  • 作文素材网站新闻源网站怎么做
  • 网站专业销售团队介绍学院网站群建设方案
  • 网站制作项目执行织梦网站模板免费
  • 网站安全建设模板下载安装一个网站做多少关键词
  • 网站关键词多少个合适怎么做购物网站系统文本
  • 网站刷流量对网站有影响吗邢台网站建设网络公司