マイクロメッセージウィジェットはノードの高さを取得し、適応高さの目的を達成する.


1、微信提供のwxを利用する.createSelectorQuery()メソッド実装2、実装コード:.wxml
           
                    
                        
                            
                                
                                    
                                    {{item.dName}}
                                    {{deviceDetail.dName}}
                                    
                                
                                
                                    
                                        
                                            {{harmonicElectricityList == null?' ':harmonicElectricityList}}%
                                             
                                        
                                        
                                            {{harmonicVoltageList == null?' ':harmonicVoltageList}}%
                                             
                                        
                                        
                                            {{maxDeviceDetail.maxDay == null?' ':maxDeviceDetail.maxDay}}kW
                                             
                                        
                                        
                                            {{maxDeviceDetail.maxMonth == null?' ':maxDeviceDetail.maxMonth}}kW
                                             
                                        
                                    
                                
                                
                                    
                                        
                                             
                                        
                                        
                                            {{item.psName}}    {{item.data}}V
                                        
                                            
                                    
                                    
                                        
                                             
                                        
                                        
                                            {{item.psName}}    {{item.data}}A
                                        
                                            
                                    
                                    
                                        
                                             
                                        
                                        
                                            {{item.psName}}    {{item.data}}
                                        
                                            
                                    
                                    
                                        
                                             
                                        
                                        
                                            {{item.psName}}    {{item.data}}
                                        
                                            
                                    
                                    
                                        
                                             
                                        
                                        
                                            {{item.psName}}    {{item.data}}
                                        
                                            
                                    
                                    
                                        
                                             
                                        
                                        
                                            {{item.psName}}    {{item.data}}
                                        
                                            
                                    
                                

                                
                                    
                                         
                                    
                                
                            
                        
                    
                

js
    selectHight: function(){
        let self = this;
        console.log('====== ======')
        var query = wx.createSelectorQuery();

        console.log('sssss:',query)
        query.select('#col-width').boundingClientRect(function (rect){
            console.log(' :',rect.width)

            self.setData({
                icoWidth: rect.width * 2
            })

        }).exec();
        query.select('#item-height').boundingClientRect(function (rect){
            let a = rect.width - self.data.icoWidth
            let b = self.data.stringWidth
            console.log("=======a:",a)
            console.log("=======b:",b)
            if(a>b){
               // console.log("==========1 ==========")
                self.setData({
                    winHeight: 0 + rect.height
                })
            }else {

                let c = (b*1.0)/(a*1.0)
                let d = Math.ceil(c)
               // console.log("============== ============",c)
               // console.log("============== ============",d)
                self.setData({
                    winHeight: 0 + rect.height * d
                })
            }

        }).exec();
        query.select('#tui-flex-box').boundingClientRect(function (rect){
            self.setData({
                winHeight: self.data.winHeight + rect.height
            })

        }).exec();
        query.select('#tui-grid').boundingClientRect(function (rect){

            self.setData({
                winHeight: self.data.winHeight + rect.height
            })
        }).exec();
        query.select('#tui-title').boundingClientRect(function (rect){
            self.setData({
                winHeight: self.data.winHeight + rect.height
            })

            self.setData({
                clientHeight: self.data.winHeight
            })
          //  console.log(" :",self.data.clientHeight)
        }).exec();
    }

3、この方法には穴がある.ノードの高さを取得する可能性があるとき、まだレンダリングが終わっていない.ここではバックグラウンドのデータに応答する最も長い方法で呼び出した.もう一つの方法は遅延で、まだ具体的な実験がない.