鍍金池/ 問答/HTML/ element-ui如何根據(jù)數(shù)據(jù)里的checked判斷多選是否為默認(rèn)選中

element-ui如何根據(jù)數(shù)據(jù)里的checked判斷多選是否為默認(rèn)選中

1.根據(jù)checked是否為1來判斷是否默認(rèn)被選中(1為選中,2為未選中),現(xiàn)在的問題是兩個checked都為1的情況下只會執(zhí)行最后一個,而現(xiàn)在想要的效果是:只要checked為1就默認(rèn)被選中

<template>
  <div>
    <el-tree
      :data="data2"
      show-checkbox
      default-expand-all
      node-key="checked"
      ref="tree"
      highlight-current
      :props="defaultProps">
    </el-tree>

    <div class="buttons">
      <el-button @click="setCheckedNodes">通過 node 設(shè)置</el-button>
    </div>
  </div>
</template>

<script>
  export default {
    methods: {
      setCheckedNodes() {
        console.log(this.$refs.tree)
        this.$refs.tree.setCheckedNodes([{
          checked: 1
        }]);
      }
    },
    data() {
      return {
        data2: [{
          checked: 1,
          label: '一級 1',
          children: [{
            checked: 0,
            label: '二級 1-1',
            children: [{
              checked: 0,
              label: '三級 1-1-1'
            }, {
              checked: 0,
              label: '三級 1-1-2'
            }]
          }]
        }, {
          checked: 1,
          label: '一級 2',
          children: [{
            checked: 0,
            label: '二級 2-1'
          }, {
            checked: 0,
            label: '二級 2-2'
          }]
        }, {
          checked: 0,
          label: '一級 3',
          children: [{
            checked: 0,
            label: '二級 3-1'
          }, {
            checked: 0,
            label: '二級 3-2'
          }]
        }],
        defaultProps: {
          children: 'children',
          label: 'label'
        }
      };
    }
  };
</script>

圖片描述
圖片描述

回答
編輯回答
祉小皓

目測你的 node-key 設(shè)置錯誤。

文檔:

分別通過 default-expanded-keysdefault-checked-keys 設(shè)置默認(rèn)展開和默認(rèn)選中的節(jié)點。需要注意的是,此時必須設(shè)置 node-key ,其值為節(jié)點數(shù)據(jù)中的一個字段名,該字段在整棵樹中是唯一的。

官方示例:

<el-tree
  :data="data2"
  show-checkbox
  node-key="id"
  :default-expanded-keys="[2, 3]"
  :default-checked-keys="[5]"
  :props="defaultProps">
</el-tree>

<script>
  export default {
    data() {
      return {
        data2: [{
          id: 1,
          label: '一級 1',
          children: [{
            id: 4,
            label: '二級 1-1',
            children: [{
              id: 9,
              label: '三級 1-1-1'
            }, {
              id: 10,
              label: '三級 1-1-2'
            }]
          }]
        }, {
          id: 2,
          label: '一級 2',
          children: [{
            id: 5,
            label: '二級 2-1'
          }, {
            id: 6,
            label: '二級 2-2'
          }]
        }, {
          id: 3,
          label: '一級 3',
          children: [{
            id: 7,
            label: '二級 3-1'
          }, {
            id: 8,
            label: '二級 3-2'
          }]
        }],
        defaultProps: {
          children: 'children',
          label: 'label'
        }
      };
    }
  };
</script>
2017年6月3日 00:08
編輯回答
枕邊人

請教,渲染tree時怎么根據(jù)data2數(shù)據(jù)的checked屬性,渲染是否勾選

2017年1月3日 12:46