在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ element 中的tree 怎么默認(rèn)高亮顯示?

element 中的tree 怎么默認(rèn)高亮顯示?

用了這個方法但是沒有實現(xiàn)
clipboard.png
node-key和ref都有寫,
用click方法觸發(fā)事件的話是可以實現(xiàn),但是想一進(jìn)入頁面就默認(rèn)高亮,是什么問題呢

回答
編輯回答
糖果果

這個是因為當(dāng)時周期在 created時候并沒有創(chuàng)建 vuetree,建議 寫個在 10 以內(nèi)的遞歸函數(shù),如果 在遞歸中 vueTree沒有創(chuàng)建,創(chuàng)建了就可以使用, 就再次使用nextTick調(diào)用遞歸,如果超過 10 直接報錯好了
代碼如下

function refRecursion (refName, key, time = 1) {
  if (time > 10) throw new Error(`not find ${refName}`)
  const ref = this.$refs[refName]
  if (ref) {
    ref.setCurrentKey(key)
  } else {
    this.$nextTick(() => {
      refRecursion(refName, key, time + 1)
    })
  }
}

refName 是 名稱, key 是 你設(shè)置的id, time 是 次數(shù)
當(dāng)然你也可以寫個共同,把key改為cb函數(shù)就可以

提問者沒看懂 我這邊再簡化一下代碼

    methods: {
        refRecursion (key, time) {
            // 超過 10 次 就 算了,你可以調(diào)大,不過幾乎就 2 ~ 3次就可以 找到 vueTree 
            if (time > 10) throw new Error('沒有找到 vueTree')
            // 獲取 組件上的 vueTree,但是組件具體創(chuàng)建時機(jī)不清楚,
            // 當(dāng)前被創(chuàng)建了就返回組件對象  沒有被創(chuàng)建 返回 undefined
            var tree = this.$refs.vueTree
            if (tree) {
                //如果當(dāng)前 被創(chuàng)建了 tree, 直接設(shè)置 key啊
                // 對象有了,就去設(shè)置 key 啊
                tree.setCurrentKey(key)
            } else {
                // 當(dāng)前更新循環(huán)中沒發(fā)現(xiàn) tree 啊, 晚一點吧,下次 輪詢的時候 再搞定它
                this.refRecursion(key, time + 1)
            }
        }
    },
    created () {
        var _this = this
        this.$nextTick(function () {
            // 直接調(diào)用
            _this.refRecursion(100, 1)
        })
    }

我只能幫你到這了,剩下的那個靠你自己了,代碼沒有檢測過,但是思路沒問題

2017年4月2日 17:27