Vue3学习(十五)之|Vue3学习(十五)之 级联选择组件Cascader的使用
写在前面
好像又过去了一周,依旧是什么也没产出,不是懒,而是心情不好,什么也不想干,失眠是常事。
【Vue3学习(十五)之|Vue3学习(十五)之 级联选择组件Cascader的使用】应该是从今年开始,突然感觉博客园就像是我自己的日记一样,承载着自己的喜怒哀乐和酸甜苦辣咸,当然,尴尬的就是没有秘密了,肯定会被熟人看到,看到也无妨,如果觉得我靠谱,请帮帮我,谢谢!
为什么心情坏到了极点?
本定大上周相亲,相亲对象是个高中毕业的女孩,月入3000,至于干什么没记住。
从听说有人给介绍对象,家长就给我做了近一周的思想工作,说自己也不小了,别太挑了,差不多的得了之类的,迫于岁数大的压力,我妥协了。
介绍人先跟我父母要了我照片,我们双方互换了下照片,我一看女孩长得还算不错,也挺白,163的身高,再结合父母的思想工作, 便答应可以相亲。
结果,女孩看完我照片说不行,想找像王嘉尔那样的,我差点没气出一口老血,没想到会被一个高中生挑三拣四的,我真的有那么差?
我开始怀疑自己,接着就是一周的emo时刻了....
级联选择组件Cascader的使用
有时候还是需要对自己狠一点,要不真的是拖延症呀,主要是代码这东西扔的时间越长越生疏,还是那份危机感在起作用,我还是想决定逼自己一下下,接着学习。
table表格渲染处理
示例代码如下:
{{ getCategoryName(record.category1Id) }} / {{ getCategoryName(record.category2Id) }}
//将分类1和分类2合并,此处都改成分类处理
{
title: '分类',
slots: { customRender: 'category' }
},
//编辑、保存微调
const categoryIds = ref();
const ebooks_data = https://www.it610.com/article/ref();
const modalVisible = ref(false);
const modalLoading = ref(false);
/**
* 编辑/保存
*/
const handleModalOk = () => {
modalLoading.value = https://www.it610.com/article/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 = https://www.it610.com/article/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 = https://www.it610.com/article/true;
axios.get("/category/all").then((response) => {
loading.value = https://www.it610.com/article/false;
const data = response.data;
if (data.success) {
categorys = data.content;
console.log("原始数组:", categorys);
level1.value = https://www.it610.com/article/[];
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-hash-calendar,一款基于vue3.x开发的移动端日期时间选择组件终于来了
- vue3-hash-calendar,一款基于vue3.x开发的移动端日期时间选择组件
- 机器学习|IT课程大纲整理
- 大学学习记录|windows同时安装jdk8和jdk11
- Java学习之旅|【数据结构】 哈希表 详解
- android|Android学习------Handler源码分析到手写简版Handler实现
- Android|带着问题学习 Android Handler 消息机制
- 你要找的Vue3干货都在这里了,干不干你说了算!
- 安卓源码探究|android源码学习-Handler机制及其六个核心点
- 《C++要笑着学》|【C++要笑着学】认识C++ | C++的发展史 | 学习方法建议