详解Vue2 无限级分类(添加,删除,修改)
发布时间 - 2026-01-11 00:03:01 点击率:次本人对vue不是很懂,搜索了很多关于Vue2 无限级分类介绍,下面我来记录一下,有需要了解Vue2 无限级分类的朋友可参考。希望此文章对各位有所帮助。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue 树</title>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<style type="text/css">
a{color: #333; text-decoration: none;}
ul{padding-left: 15px;}
</style>
</head>
<body>
<div id="app">
{{items}}
<treelist v-for="(val, index) in items" :item="val" @remove="delItem(index)"></treelist>
</div>
<template id="treelist-template">
<ul>
<div style="padding:5px 0;">
<a v-if="isFolder" @click="toggle()">[{{open ? '-' : '+'}}]</a>
<a v-else style="color:#FFF;">[+]</a>
<input type="number" style="width:80px;" v-model="item.sort">
<input type="text" size="30" v-model="item.name" placeholder="岗位名称">
<button type="button" @click="addChild()">添加</button>
<button type="button" @click="$emit('remove')" v-if="!isFolder">删除</button>
</div>
<ul v-show="open" v-if="isFolder">
<treelist v-for="(val, index) in item.children" :item="val" @remove="delItem(index)"></treelist>
</ul>
</ul>
</template>
<script>
window.onload = function(){
//treelist组件
Vue.component('treelist', {
template: '#treelist-template',
props: {
item: Object
},
data: function() {
return {
open: false
}
},
computed: {
isFolder: function() {
return this.item.children && this.item.children.length
}
},
methods: {
toggle: function() {
if (this.isFolder) {
this.open = !this.open
}
},
addChild: function() {
/*添加内容但不同步到服务器*/
if (!this.isFolder) {
Vue.set(this.item, 'children', [])
}
this.open = true
this.item.children.push({
sort: 0,
name: '',
status: 1,
parent_id: this.item['id']
})
},
delItem: function(index){
this.item['children'].splice(index, 1)
}
}
})
new Vue({
el: '#app',
data:{
mydata: {},
items: [
{"id":"10","parent_id":"0","sort":"0","name":"其它","status":"0"},
{"id":"12","parent_id":"0","sort":"0","name":"测试","status":"0"},
{"id":"1","parent_id":"0","sort":"0","name":"水果","status":"0",
"children":[
{"id":"4","parent_id":"1","sort":"0","name":"香蕉","status":"0"}
]
},
{"id":"2","parent_id":"0","sort":"0","name":"饮料","status":"0",
"children":[
{"id":"5","parent_id":"2","sort":"0","name":"可乐","status":"0"},
{"id":"6","parent_id":"2","sort":"0","name":"酒水","status":"0",
"children":[
{"id":"7","parent_id":"6","sort":"0","name":"啤酒","status":"0"}
]
}
]
},
{"id":"3","parent_id":"0","sort":"0","name":"美食","status":"0",
"children":[
{"id":"8","parent_id":"3","sort":"0","name":"红烧鱼","status":"0"}
]
}
]
},
methods: {
add:function(){
this.mydata['id'] = 100;//从服务器返回的ID号
this.mydata['status'] = 0;
this.mydata['parent_id'] = 0;
this.items.push(this.mydata);
this.mydata = {};
},
delItem: function(index){
this.items.splice(index, 1)
}
}
});
}
</script>
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# vue.js
# 无限级分类
# Vue无限级分类
# 详解vue添加删除元素的方法
# vue.js实现点击后动态添加class及删除同级class的实现代码
# 在Vue组件上动态添加和删除属性方法
# 使用Bootstrap + Vue.js实现添加删除数据示例
# Vue.js动态添加、删除选题的实例代码
# vue实现学生录入系统之添加删除功能
# 我来
# 不是很
# 人对
# 但不
# 大家多多
# 红烧鱼
# color
# css
# ul
# decoration
# dist
# unpkg
# https
# text
# type
# style
# padding
# items
# app
# treelist
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
微信小程序 canvas开发实例及注意事项
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
java中使用zxing批量生成二维码立牌
佛山网站制作系统,佛山企业变更地址网上办理步骤?
如何自定义建站之星模板颜色并下载新样式?
南京网站制作费用,南京远驱官方网站?
如何为不同团队 ID 动态生成多个独立按钮
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
C++时间戳转换成日期时间的步骤和示例代码
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
如何在Windows环境下新建FTP站点并设置权限?
如何在企业微信快速生成手机电脑官网?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
zabbix利用python脚本发送报警邮件的方法
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
如何用PHP工具快速搭建高效网站?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
JavaScript如何实现继承_有哪些常用方法
北京专业网站制作设计师招聘,北京白云观官方网站?
如何在腾讯云服务器上快速搭建个人网站?
详解阿里云nginx服务器多站点的配置
Android自定义控件实现温度旋转按钮效果
晋江文学城电脑版官网 晋江文学城网页版直接进入
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
如何快速搭建自助建站会员专属系统?
使用C语言编写圣诞表白程序
Laravel安装步骤详细教程_Laravel环境搭建指南
nodejs redis 发布订阅机制封装实现方法及实例代码
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
轻松掌握MySQL函数中的last_insert_id()
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
Laravel如何保护应用免受CSRF攻击?(原理和示例)
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
怎么用AI帮你设计一套个性化的手机App图标?
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
如何快速搭建高效简练网站?
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
Android 常见的图片加载框架详细介绍
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
如何选择PHP开源工具快速搭建网站?
Laravel如何实现一对一模型关联?(Eloquent示例)
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
魔方云NAT建站如何实现端口转发?
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
下一篇:Java8帮助文档下载指南
下一篇:Java8帮助文档下载指南

