2024-04
25

基于class的级联分类下拉达成

By xrspook @ 8:26:51 归类于: 烂日记

花了大概两天的时间,终于做出了我想要的那种级联分类下拉的效果,但实际上我的判断是根据上一层筛选的,所以如果上上一层不一样以我现在的判断结构,没办法分辨出来的。如果要把这些都分辨得清楚,那么json的结构里就得把每一条记录所在层都写清楚。如果那是1层,那么234可以留空,但如果那是4层,那么1234都得有。我的json文件现在结构非常简单,总体来说是一个数组,每个对象只有三个部分,一个是name,一个是class,一个是content。name是这个对象的名字,class是它所在的层,content分为两部分,如果不是最后一层,那么content就是下一层的name的数组,如果那是最后一层,那么就是它所包含的所有信息。

第1层比较简单,就是把属于第1层的数据添加到第1个选框里。第2层是我纠结得最久的,因为搞不定这个后面的也搞不定。一开始我的计划是首先判断第1层是有数的,然后获取第1层对应的content。然后开始数组的历遍,把名字跟content里的一致且层数是2的name选出来,然后把它们逐个添加到第2层的选框里。第2层开始,这个操作是第1层的选项发生了变动后清空第2层,然后初始化选项框。第3层和第2层做的事情是一样的,无非就是2变成3,然后就是清空的时候,如果到达了第3层,第2层清空的时候,就得把第2层跟第3层都清空了。我的设定是到第4层,第4场就是结果,所以当第4层被确定下来以后,第4层的content就需要展示具体内容。同理,如果我1234层都选好了,然后我又变动了第1层,那么就得把234层以及最后的结果全部清空。这些操作都是很规律的,我感觉可以通过循环或者递归之类把这说清楚,就不需要一次又一次重复这种事情。准确来说,我感觉用递归更合理一些,但是因为我的递归学得实在很糟糕。学python时候,递归那一章从来都是让我瑟瑟发抖的,尤其是要我画雪花图案的时候,简直毛骨悚然。有了那些清空和初始化的操作以后,我就彻底避免了百度AI自动生成的那些bug。现在我的这个方案的确挺傻的,但我觉得可以通过递归的改写让它没那么傻,这个方案之所以可行,其中一个很重要的地方在于起码以我手头上的资源以及我的技术,我可以生成出对应的文件。虽然可能会有点麻烦,但起码可以实现。首次生成会让你有点望洋兴叹,但持续更新的难度不大。

核心部分基本解决以后,我要开始进行UI美化,进而发现,原来CSS进化了那么多年,select下面的option依然没有可以轻易被控制的方案。这么一个死胡同,居然被我撞上了。

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress