Vue3学习(十五)之 级联选择组件Cascader的使用
写在前面
好像又过去了一周,依旧是什么也没产出,不是懒,而是心情不好,什么也不想干,失眠是常事。
应该是从今年开始,突然感觉博客园就像是我自己的日记一样,承载着自己的喜怒哀乐和酸甜苦辣咸,当然,尴尬的就是没有秘密了,肯定会被熟人看到,看到也无妨,如果觉得我靠谱,请帮帮我,谢谢!
为什么心情坏到了极点?
本定大上周相亲,相亲对象是个高中毕业的女孩,月入3000,至于干什么没记住。
从听说有人给介绍对象,家长就给我做了近一周的思想工作,说自己也不小了,别太挑了,差不多的得了之类的,迫于岁数大的压力,我妥协了。
介绍人先跟我父母要了我照片,我们双方互换了下照片,我一看女孩长得还算不错,也挺白,163的身高,再结合父母的思想工作, 便答应可以相亲。
结果,女孩看完我照片说不行,想找像王嘉尔那样的,我差点没气出一口老血,没想到会被一个高中生挑三拣四的,我真的有那么差?
我开始怀疑自己,接着就是一周的emo时刻了....
级联选择组件Cascader的使用
有时候还是需要对自己狠一点,要不真的是拖延症呀,主要是代码这东西扔的时间越长越生疏,还是那份危机感在起作用,我还是想决定逼自己一下下,接着学习。
table表格渲染处理
示例代码如下:
<template v-slot:category="{ text, record }">
<span>{{ getCategoryName(record.category1Id) }} / {{ getCategoryName(record.category2Id) }}</span>
</template>
//将分类1和分类2合并,此处都改成分类处理
{
title: '分类',
slots: { customRender: 'category' }
},
//编辑、保存微调
const categoryIds = ref();
const ebooks_data = ref();
const modalVisible = ref<boolean>(false);
const modalLoading = ref<boolean>(false);
/**
* 编辑/保存
*/
const handleModalOk = () => {
modalLoading.value = true;
ebooks_data.value.category1Id = categoryIds.value[0];
ebooks_data.value.category2Id = categoryIds.value[1];
axios.post("/ebook/save", ebooks_data.value).then(response => {
const data = response.data;
if (data.success) {
modalVisible.value = false;
modalLoading.value = false;
//重新加载列表
handleQuery({
page: 1,
size: pagination.value.pageSize,
});
} else {
message.error(data.message);
}
})
};
数据处理
示例代码如下:
const level1 = ref();
let categorys: any;
/**
* 查询所有分类
**/
const handleQueryCategory = () => {
loading.value = true;
axios.get("/category/all").then((response) => {
loading.value = false;
const data = response.data;
if (data.success) {
categorys = data.content;
console.log("原始数组:", categorys);
level1.value = [];
level1.value = Tool.array2Tree(categorys, 0);
console.log("树形结构:", level1.value);
// 加载完分类后,再加载电子书,否则如果分类树加载很慢,则电子书渲染会报错
handleQuery({
page: 1,
size: pagination.value.pageSize,
});
} else {
message.error(data.message);
}
});
};
const getCategoryName = (cid: number) => {
// console.log(cid)
let result = "";
categorys.forEach((item: any) => {
if (item.id === cid) {
// return item.name; // 注意,这里直接return不起作用
result = item.name;
}
});
return result;
};
onMounted(() => {
handleQueryCategory();
});
return{
getCategoryName,
categoryIds,
level1
}
效果

知识点
- 对a-table某一列有自定义的显示方式,可以定义一个template,添加一种渲染效果
- 在setup里面可以定义普通的变量,不需要所有的变量都是响应式变量
- 第三方组件会提供内置的变量参数,如果不知道是什么值,可以打印到界面或日志看看。
写在最后
属什么别输了心情,心一乱了方寸,便满盘皆输,做好一个情绪稳定的成年人,洗洗睡了,今天吐槽完毕,代码部分有点混乱,有时间还是得捋一捋。
Vue3学习(十五)之 级联选择组件Cascader的使用的更多相关文章
- 强化学习(十五) A3C
在强化学习(十四) Actor-Critic中,我们讨论了Actor-Critic的算法流程,但是由于普通的Actor-Critic算法难以收敛,需要一些其他的优化.而Asynchronous Adv ...
- salesforce lightning零基础学习(十五) 公用组件之 获取表字段的Picklist(多语言)
此篇参考:salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type) 我们在lightning中在前台会经常碰到获取pi ...
- 智能车学习(十五)——K60野火2013版例程
一.中断函数注册方法: 1.格式: 配置某个功能的中断 注册中断函数 开启中断 2.一个例子 pit_init_ms(PIT0,);//定时中断初始化 set_vector_handler(PIT0_ ...
- Salesforce LWC学习(十五) Async 以及 Picklist 公用方法的实现
本篇参考:salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type) https://developer.salesfo ...
- Spring 学习十五 AOP
http://www.hongyanliren.com/2014m12/22797.html 1: 通知(advice): 就是你想要的功能,也就是安全.事物.日子等.先定义好,在想用的地方用一下.包 ...
- Netty In Action中文版 - 第十五章:选择正确的线程模型
http://blog.csdn.net/abc_key/article/details/38419469 本章介绍 线程模型(thread-model) 事件循环(EventLoop) 并发(Con ...
- Hibernate学习---第五节:普通组件和动态组件
一.普通组件映射配置 1.创建组件类,代码如下: package learn.hibernate.bean; /** * 组件类 */ public class Phones { private St ...
- java web 学习十五(jsp基础语法)
任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之 ...
- Maven学习(十五)-----Maven常用命令
一.Maven常用命令 1.1.Maven 参数 -D 传入属性参数 -P 使用pom中指定的配置 -e 显示maven运行出错的信息 -o 离线执行命令,即不去远程仓库更新包 -X 显示ma ...
随机推荐
- Jquery操作文本内容(三个方法:html()、text()、var())
Jquery操作文本内容(三个方法:html().text().var()) 一.html()获取和设置文本内容和标签 1.获取标签里的结构和内容 $("ul").html() / ...
- vue学习4-class和sytle绑定
#### Class绑定: 1. 通过数组的方式来实现: 2. 通过对象的方式来实现: 通过对象: 通过数组,通过数组是把多个style样式对象添加进去:
- 微服务架构 | *2.3 Spring Cloud 启动及加载配置文件源码分析(以 Nacos 为例)
目录 前言 1. Spring Cloud 什么时候加载配置文件 2. 准备 Environment 配置环境 2.1 配置 Environment 环境 SpringApplication.prep ...
- C++初始化列表各情况分析
今天回顾了下C++初始化列表的知识,接下来我对这一知识作一总结. 我们在定义了一个类的时候,需要对类的成员进行初始化.关于初始化,有两种方法,一种在初始化列表中进行,另一种就是在构造函数中进行,对于这 ...
- C++构造函数语义学(三)(基于C++对象模型)
带有虚基类的情况. 1 #include<iostream> 2 using namespace std; 3 class X 4 { 5 public: 6 int i; 7 }; 8 ...
- 微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像
❝ 目录: 微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernet ...
- python整数运算--4
#!/usr/bin/python #coding=utf-8 i=1 j=3 print(i*j) print(i**j)
- Fiddler初学笔记
Fiddler简介 Fiddller官网: www.fiddler2.com Fiddler是客户端与服务器端的http代理,是目前最常用的http抓包工具之一. Fiddler能够监听客户端和服务器 ...
- 设置redis能远程访问
远程服务器,redis 安装在/opt下redis-4.0.10 cd redis-4.0.10 修改配置文件redis.conf配置文件:(注释掉bind:127.0.0.1)和修改保护模式为no ...
- opencvsharp 根据row方向和面积筛选连通域的两种方式
ConnectedComponents cc = Cv2.ConnectedComponentsEx(tempMat);//相当于halcon的connection获取全部连通域 int blobnu ...