麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > setchecked函數(shù)詳解

setchecked函數(shù)詳解

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-23 17:12:51 1700730771

一、setchecked函數(shù)

setchecked函數(shù)是一個Vue框架的方法,它用于設(shè)置Tree組件節(jié)點(diǎn)選中狀態(tài)。該函數(shù)接收兩個參數(shù),分別為node和checked,其中node為節(jié)點(diǎn)對象,checked為布爾值,表示選中或取消選中。


/**
 * 設(shè)置節(jié)點(diǎn)選中狀態(tài)
 * @param {*} node 節(jié)點(diǎn)對象
 * @param {*} checked 布爾值,表示選中或取消選中
 */
setchecked(node, checked) {
  if (node) {
    node.setChecked(checked, !node.isIndeterminate);
    if (node.parentNode && !checked && !node.isIndeterminate) {
      this.setParentChecked(node.parentNode, checked);
    }
  }
}

該函數(shù)首先判斷節(jié)點(diǎn)對象是否為空,如果不為空則調(diào)用節(jié)點(diǎn)對象的setChecked方法設(shè)置選中狀態(tài)。如果設(shè)置取消選中狀態(tài),則需要同時判斷節(jié)點(diǎn)是否處于部分選中狀態(tài),如果是則不改變其父節(jié)點(diǎn)的選中狀態(tài),否則需要將其父節(jié)點(diǎn)的選中狀態(tài)設(shè)置為未選中狀態(tài)。

二、setchecked怎么用

在Vue框架中使用setchecked函數(shù)需要先在組件中引入Tree組件,并通過ref綁定樹的實(shí)例。在需要設(shè)置節(jié)點(diǎn)選中狀態(tài)的地方調(diào)用setchecked函數(shù)即可。

下面代碼演示了如何在Vue組件中使用setchecked函數(shù):





export default {
  methods: {
    checkNode(node, checked) {
      const tree = this.$refs.tree;
      tree.setchecked(node, checked);
    }
  }
}

三、setchecked不生效

如果調(diào)用setchecked函數(shù)后無法改變節(jié)點(diǎn)的選中狀態(tài),可能是因?yàn)楣?jié)點(diǎn)對象未正確傳遞或者節(jié)點(diǎn)對象之前被銷毀了,需要仔細(xì)檢查代碼邏輯。

四、setchecked有什么用

setchecked函數(shù)的主要作用是用于程序中動態(tài)設(shè)置Tree組件節(jié)點(diǎn)的選中狀態(tài)。通過該函數(shù)可以方便地對多層級的樹結(jié)構(gòu)進(jìn)行深度遍歷和操作。

五、setcheckedkeys不生效

setcheckedkeys函數(shù)是Vue框架中用于設(shè)置Tree組件選中節(jié)點(diǎn)的方法,如果調(diào)用該函數(shù)無法改變節(jié)點(diǎn)選中狀態(tài),可能是因?yàn)閭鬟f的節(jié)點(diǎn)key值有誤或者未正確綁定到Tree組件上。

下面代碼演示了如何正確使用setcheckedkeys函數(shù):





export default {
  data() {
    return {
      defaultCheckedKeys: [1, 2]
    }
  },
  methods: {
    checkNodes() {
      const tree = this.$refs.tree;
      tree.setcheckedkeys([3, 4]);
    }
  }
}

上面的代碼中,通過在Tree組件上綁定default-checked-keys屬性設(shè)置默認(rèn)選中的節(jié)點(diǎn),在checkNodes方法中調(diào)用setcheckedkeys函數(shù)設(shè)置新的選中節(jié)點(diǎn)。

六、setcheckedkeys速度慢

在一個包含大量節(jié)點(diǎn)的樹結(jié)構(gòu)中,如果同時設(shè)置多個節(jié)點(diǎn)的選中狀態(tài),可能會出現(xiàn)性能瓶頸。此時可以嘗試用v-if指令限制節(jié)點(diǎn)的渲染和更新。

下面是一個使用v-if指令優(yōu)化渲染的例子:





export default {
  data() {
    return {
      defaultCheckedKeys: [1, 2]
    }
  },
  methods: {
    hasChildren(item) {
      return item.children && item.children.length > 0;
    },
    iconClass(node, data) {
      if (this.hasChildren(data)) {
        return node.expanded ? 'el-icon-caret-bottom' : 'el-icon-caret-right';
      } else {
        return '';
      }
    },
    expand(node) {
      node.expanded = !node.expanded;
    }
  }
}

上面代碼中,通過使用v-if指令限制了只有具有子節(jié)點(diǎn)的節(jié)點(diǎn)才能渲染展開/收起的圖標(biāo),從而優(yōu)化了大量節(jié)點(diǎn)時的渲染速度。

七、setcheckedkeys of undefined

如果調(diào)用setcheckedkeys函數(shù)時出現(xiàn)"setcheckedkeys of undefined"的錯誤提示,可能是因?yàn)閭鬟f的key值數(shù)組為空或者綁定在Tree組件上的data屬性未正確初始化。

下面代碼演示了如何正確初始化Tree組件數(shù)據(jù)并設(shè)置默認(rèn)選中的節(jié)點(diǎn):





export default {
  data() {
    return {
      data: [
        {
          id: 1,
          label: 'Node 1',
          children: [
            {
              id: 2,
              label: 'Node 1-1',
            },
            {
              id: 3,
              label: 'Node 1-2',
            },
          ],
        },
      ],
      defaultCheckedKeys: [2],
    }
  },
}

上述代碼中,通過為Tree組件綁定data屬性并設(shè)置默認(rèn)選中的key值,可以避免"setcheckedkeys of undefined"的錯誤提示。

八、setcheckednodes

setcheckednodes函數(shù)是Vue框架中用于設(shè)置Tree組件選中節(jié)點(diǎn)的方法,與setcheckedkeys函數(shù)不同的是,setcheckednodes函數(shù)接收的是節(jié)點(diǎn)對象數(shù)組,而不是key值數(shù)組。

下面代碼演示了如何使用setcheckednodes函數(shù)設(shè)置節(jié)點(diǎn)選中狀態(tài):





export default {
  methods: {
    checkNodes() {
      const tree = this.$refs.tree;
      const nodes = [tree.getNode(2), tree.getNode(3)];
      tree.setcheckednodes(nodes, true);
    }
  }
}

上述代碼中調(diào)用setcheckednodes函數(shù)將id為2和3的節(jié)點(diǎn)設(shè)置為選中狀態(tài)。

九、setcheckedkeys和setcheckednodes的結(jié)合使用

在Vue框架中,setcheckedkeys和setcheckednodes函數(shù)可以同時使用,以更精準(zhǔn)地控制Tree組件的選中狀態(tài)。

下面是一個使用setcheckedkeys和setcheckednodes函數(shù)結(jié)合使用的例子:





export default {
  data() {
    return {
      data: [
        {
          id: 1,
          label: 'Node 1',
          children: [
            {
              id: 2,
              label: 'Node 1-1',
            },
            {
              id: 3,
              label: 'Node 1-2',
            },
            {
              id: 4,
              label: 'Node 1-3',
              children: [
                {
                  id: 5,
                  label: 'Node 1-3-1',
                },
              ],
            },
          ],
        },
      ],
      defaultCheckedKeys: [2, 4],
    }
  },
  methods: {
    checkNodes() {
      const tree = this.$refs.tree;
      const nodes = [tree.getNode(5)];
      tree.setcheckedkeys([3], false);
      tree.setcheckednodes(nodes, true);
    }
  }
}

上述代碼中,首先通過設(shè)置default-checked-keys屬性設(shè)置默認(rèn)選中的節(jié)點(diǎn),然后在checkNodes方法中先取消選中id為3的節(jié)點(diǎn),再將id為5的節(jié)點(diǎn)設(shè)置為選中狀態(tài)。

tags: posternapk
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
主站蜘蛛池模板: 国产zzjjzzjj视频全免费| 波多野结衣一区| 国产高清在线| 伊人色综合久久| 欧美性生活视频免费| 日本高清在线播放| 日韩福利电影网| 躁天天躁中文字幕在线| 污网站在线观看免费| 在线视频这里只有精品| 午夜体验试看120秒| 欧美一级黄色片视频| 国产精品成人va| 日韩在线一区二区三区免费视频| 男人女人做30分爽爽视频| 97sese电影| 久久成人a毛片免费观看网站| 色综合久久一本首久久| 中文字幕在线视频在线看| 欧美a级成人淫片免费看| 野花社区在线观看www| 国产精品高清一区二区三区不卡| 美国式禁忌矿桥矿17集| 强行扒开双腿猛烈进入| 美女羞羞视频免费网站| 小受被多男摁住—灌浓精| 在线播放五十路乱中文| 欧美日韩一区二区综合| 国产一区二区三区亚洲综合| 爱搞激情在线| 超碰8| 小明天天看成人免费看| 亚洲午夜成激人情在线影院| 下面一进一出好爽视频| 被夫上司强迫的女人在线中文| 欧美三级免费观看| 男人女人做30分爽爽视频| 欧美激情一区二区三区| 女人说疼男人就越往里| 国产福利在线观看一区二区| 国产精品亚洲片在线观看不卡|