可以用padding代替啊
想了一個辦法,但是感覺不是最好的辦法,處理方式如下:
通過遞歸遍歷所有的子節(jié)點,然后根據(jù)后臺傳過來的所選節(jié)點id匹配,判斷該遍歷的節(jié)點id和后臺所選id比較,比較為true就會進行setChecked操作
1、在頁面生命周期的created事件中,執(zhí)行菜單樹的根節(jié)點遍歷方法
created() {
this.foreachMenuRoot()
},
2、遍歷有兩個坑
2.1、頁面初始化的時候this.$refs.tree還是undefined未定義
2.2、當created將頁面元素加載完成后this.$refs.tree.children菜單樹還沒加載完,所以也是undefined未定義(ps:請求后臺那數(shù)據(jù)會有一定的延遲,樹的數(shù)據(jù)加載過程也會有一定的延遲)
foreachMenuRoot() {
// 遞歸勾選菜單樹
const _this = this
// 由于目前頁面created加載的時候this.$refs.tree樹還未加載完成,所以非空判斷
if (this.$refs.tree !== undefined && this.$refs.tree.children !== undefined && this.$refs.tree.children !== null) {
this.$refs.tree.children.forEach(function(node) {
if (_this.form.menuIds.indexOf(node.id) !== -1) {
_this.$refs.tree.setChecked(node.id, true, false)
}
if (node.children !== undefined && node.children !== null && node.children.length > 0) {
_this.whileMenuIdsCheckedElTree(node)
}
})
this.formLoading = false
} else {
// 由于數(shù)據(jù)未能及時加載完成,做一個定時循環(huán)去執(zhí)行
setTimeout(() => {
_this.foreachMenuRoot()
}, 3000)
}
},
3、遞歸遍歷根節(jié)點的葉子節(jié)點
whileMenuIdsCheckedElTree(node) {
const _this = this
node.children.forEach(function(cnode) {
if (_this.form.menuIds.indexOf(cnode.id) !== -1) {
_this.$refs.tree.setChecked(cnode.id, true, false)
}
if (cnode.children !== undefined && cnode.children !== null && cnode.children.length > 0) {
_this.whileMenuIdsCheckedElTree(cnode)
}
})
}
自己不是專業(yè)的前端工程師,一直都是后端開發(fā),如果有更好的思路和想法歡迎一起探討
為什么這種問題還沒有被封掉?這里不是給你抱怨的地方,想抱怨麻煩去發(fā)朋友圈。
回調(diào)函數(shù) https://github.com/ElemeFE/el...
loadFn(this.root, (data) => {
this.root.doCreateChildren(data);
this._initDefaultCheckedNodes();
});arr2 = arr.reduce((cur, next) => {
return cur.concat(next.children)
}, [])ref="upload" 改為:ref="'upload'+index"試試
不知道是不是你想要的:
https://www.xiatianlong.com/n...
監(jiān)聽是你監(jiān)聽的值改變后執(zhí)行
一般監(jiān)聽為 return{}里面的值或是傳進來的值
如果是對象的話想要監(jiān)聽其中的值 var obj = {a:1}
watch: {
'obj.a' (val) {
}
}In the current implementation apply calls func twice on the first column/row to decide whether it can take a fast or slow code path. This can lead to unexpected behavior if func has side-effects, as they will take effect twice for the first column/row.
安卓調(diào)試需要先自行開啟安卓模擬器
python有個東西叫裝飾器。
Array的map,必須return了才返回。
你可以將{}去掉,直接sections.map(v => <Tag>{v.name}</Tag>);
var reg = new RegExp("[\\u4e00-\\u9fa5]","g");
改成
var reg = new RegExp("[\\u4e00-\\u9fa5]");主要是版本沖突,因為是跟著教程做,django版本1.10.6+ python3
換個思路通過忽略文件間接實現(xiàn):單獨弄個文件,把想忽略的內(nèi)容放到里面,使用時代碼中引入文件內(nèi)容,gitignore 這個文件。
mysql查詢也是異步,前面加await就好了
var lables = document.querySelectorAll('lable')
labels.forEach(function (lable) {
lable.innerHtml = '<div>' + lable.innerHtml + '</div>'
})不記得有什么屬性可以調(diào)試了
cursor:url(...)可以自定義圖片 試試
nodejs的Promise沒有pipe方法,所以建議你看看rp的源代碼
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。