zoukankan      html  css  js  c++  java
  • 使用element-ui框架的积累(四)

    如何实现树型结构单选

    树型结构数据 single.json

    [{
        "id": "1",
        "label": "running man",
        "children": [{
            "id": "r1",
            "label": "刘在石"
        }, {
            "id": "r2",
            "label": "池石镇"
        }, {
            "id": "r3",
            "label": "金钟国"
        }, {
            "id": "r4",
            "label": "gray"
        }, {
            "id": "r5",
            "label": "HAHA"
        }, {
            "id": "r6",
            "label": "宋智孝"
        }, {
            "id": "r7",
            "label": "李光洙"
        }]
    },{
        "id":"2",
        "label":"仙剑奇侠传三",
        "children":[
            {
                "id":"x1",
                "label":"景天"
            },{
                "id":"x2",
                "label":"徐长卿"
            },{
                "id":"x3",
                "label":"龙葵"
            },{
                "id":"x4",
                "label":"茂茂"
            },{
                "id":"x5",
                "label":"唐雪见"
            },{
                "id":"x6",
                "label":"紫萱"
            },{
                "id":"x7",
                "label":"重楼"
            },{
                "id":"x8",
                "label":"邪剑仙"
            }
        ]
    },{
        "id":"3",
        "label":"山海情",
        "children":[
            {"id":"s1","label":"李水花"},
            {"id":"s2","label":"白麦苗"}
        ]
    }]

    index.vue

    <template>
      <el-tree :data="singleTree" node-key="id" ref="singleTree" show-checkbox :check-strictly="true" @check-change="handlerSingleSelect"> </el-tree>
    </template>

    <script>
      export default {
        data() {
          return {
            singleTree:[],//实现单选树型结构数据
          }
        },
        mounted() {
          this.init();
        },
        methods: {
          init() {  
            this.$http.get("http://localhost:3000/public/single.json").then(res=>{
              this.singleTree=this.disabledParent(res.data);
            })
          },
          // 禁止父节点被点击
          disabledParent(data) {
            data.forEach((node) => {
              if (node.children) {
                node.disabled = true;
                this.disabledParent(node.children)
              } else {
                return
              }
            })
            return data;
          },
          handlerSingleSelect(data,check,node){
            if(check){
              this.$refs.singleTree.setCheckedNodes([data])
            }
            console.log(data,node)
          }
        }
      };
    </script>
  • 相关阅读:
    Linux查看磁盘空间大小
    Qt常见错误
    顺序查找和二分查找代码
    字典树——动态&&静态
    Linux本机和远程服务器之间文件的上传和下载 rz sz
    牛顿迭代法——C语言
    MFC之ListControl选中行删除
    MFC之登录框的问题处理
    MFC之创建多级动态菜单
    c++动态内存知识总结与疑问
  • 原文地址:https://www.cnblogs.com/shanchui/p/14379757.html
Copyright © 2011-2022 走看看