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

企业网站国内现状百度服务中心人工客服电话

企业网站国内现状,百度服务中心人工客服电话,全屏网站设计尺寸,四视图网站递归组件的实现 1. 需求描述:2. 效果图:3. 代码3.1 封装组件代码3.2 父组件使用 1. 需求描述: 点击添加行,增加一级目录结构当类型为object or array时,点击右侧➕,增加子集点击右侧🚮&#x…

递归组件的实现

  • 1. 需求描述:
  • 2. 效果图:
  • 3. 代码
    • 3.1 封装组件代码
    • 3.2 父组件使用

1. 需求描述:

  1. 点击添加行,增加一级目录结构
  2. 当类型为object or array时,点击右侧➕,增加子集
  3. 点击右侧🚮,删除对应子集

2. 效果图:

在这里插入图片描述

3. 代码

3.1 封装组件代码

<template><template v-if="!!currentLevelData.length"><div class="mt10" v-for="(item, index) in currentLevelData" :key="`${deep}-${index}`"><div class="flex flex-align-center"><!-- key --><div class="common mr10 border-box" :style="{ paddingLeft: (deep - 1) * 10 + 'px' }"><a-input v-model:value="item.key" placeholder="请输入key" /></div><!-- type --><div class="type mr10"><a-selectref="select"v-model:value="item.type"class="full-width"@change="handleChange($event, item)"><a-select-option v-for="t in dataType" :value="t" :key="t">{{ t }}</a-select-option></a-select></div><!-- value --><div class="common mr10"><a-textarea:rows="1"placeholder="请输入参考值"v-model:value="item.value":disabled="objectFile.includes(item.type)"/></div><!-- desc --><div class="common mr10"><a-textarea :rows="1" placeholder="请输入备注" v-model:value="item.desc" /></div><!-- 删除按钮 --><div class="flex"><delete-outlined class="ml5" @click="deleteTarget(index)" /><!-- 添加子集 --><plus-outlinedclass="ml5"v-show="objectFile.includes(item.type)"@click="addSubset(item)"/></div></div><template v-if="!!item.child?.length"><!-- 组件递归 --><CustomInputGroup :deep="deep + 1" :list="item.child" /></template></div></template>
</template>
<script lang="ts" setup>
import CustomInputGroup from './index.vue';
import { DeleteOutlined, PlusOutlined } from '@ant-design/icons-vue';
import { message } from 'ant-design-vue';const dataType = ['string', 'number', 'boolean', 'object', 'array', 'file']; // 所有的类型const props = defineProps({list: {type: Array,default: () => [],},deep: {type: Number,default: 1,},
});const objectFile = ['object', 'array']; // 可以有下一级结构的类型interface paramsItem {key: string;type: string;value: string;desc: string;child?: any;
}// currentLevelData:永远是当前层次的数据 - 数据源来自于组件调用时传递的
// 监听props变化
const currentLevelData: any = computed(() => {return props.list;
});/*** 切换类型*/
function handleChange(type: string, item: any) {if (objectFile.includes(type)) {item.value = '';item.child = [];} else {delete item.child;}
}/*** 添(追)加子集*/
function addSubset(item: any) {const lastDeep = props.deep;if (lastDeep == 5) return message.info('最多支持5层结构', 2);item.value = '';item.value = '';item.child.push({key: `params${props.deep + 1}-${item.child.length + 1}`,type: 'string',value: '',desc: '',});
}/*** 删除*/
function deleteTarget(index: number) {currentLevelData.value.splice(index, 1);
}/*** 获取数据*/
function getChildParams() {return currentLevelData.value;
}
/*** 将子组件方法暴露给父组件*/
defineExpose({addSubset,getChildParams,
});
</script>
<style lang="less" scoped>
.common {width: 135px;
}
.type {width: 100px !important;
}
</style>

3.2 父组件使用

<template><CustomInputGroup ref="paramRef" :list="formState.param" :deep="1" /><a-button class="mt10" type="primary" @click="addLineParam('param')"> 添加行 </a-button>
</template><script>
const formState = ({param:[]
})/*** 添加行(headersParam、requestParam)*/
function addLineParam(formStateKey: string) {formState[formStateKey].push({key: `params${formState[formStateKey].length + 1}`,type: 'string',value: '',desc: '',});
}
</script>
http://www.fp688.cn/news/154753.html

相关文章:

  • 莆田有交做外贸网站的没网店推广培训
  • 进入官网查看seo链接优化建议
  • 怎么做网站页面模板seo推广的方法
  • 建设银行信用卡网站是哪个新东方在线教育平台官网
  • 网站建设主要流程济南优化哪家好
  • 哪里有做空包网站的百度热搜榜排名今日头条
  • phpmysql网站开发技术项目式教程宁波seo深度优化平台有哪些
  • 徐汇网站建设百度怎么注册公司网站
  • 工商网站如何做企业增资合肥瑶海区
  • wordpress自建电商网站今日新闻最新消息
  • 旅游网站设计方案郑州网站关键词优化外包
  • 淘宝网请人做淘宝客网站百度网站排名关键词整站优化
  • 做装修的网站有哪些内容优化设计五年级下册语文答案
  • 政府网站群建设工作总结客户引流的最快方法是什么
  • 紧紧抓住推进党风廉政建设的"牛鼻子"中央纪委监察部网站小红书笔记关键词排名优化
  • 网站客服在线软件百度免费打开
  • 武汉网站建设公司厂家地址淘客推广怎么做
  • 摄影作品网站源码游戏搜索风云榜
  • 315网站专题怎么做自媒体营销模式有哪些
  • 如何禁止通过ip访问网站链接怎么做
  • 棋牌搭建工具seo专业培训seo专业培训
  • 海南做网站的如何在百度搜索排名靠前
  • 汕头建站服务域名解析
  • 个人作品网站链接怎么做百度指数批量查询工具
  • 做京东商城网站什么是搜索引擎推广
  • 做废品回收在什么网站推广baidu 百度一下
  • 微信网页宣传网站怎么做湖南网站设计外包费用
  • 做自媒体视频搬运网站我要推广
  • 公司建的是网页还是网站2345中国最好的网址站
  • 网站建设项目需求书nba球队排名