日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

angular.js - angular.ui:dropdown的下拉菜單關閉的偶爾失常問題

瀏覽:327日期:2024-10-10 16:50:58

問題描述

angular.js - angular.ui:dropdown的下拉菜單關閉的偶爾失常問題

本人遇到一個很奇怪的問題,點擊菜單中的選擇項,大多數情況下菜單隱藏正常,小部分情況就出現了如上圖情況。(我檢查過dropdown的is-open值,的確已經為false。)不知道問題出在哪里,請高手指教,謝謝。

以下為我的部分代碼

.directive(’pxSearchInputGroup’,function($ListCache,$filter,$timeout,$rootScope,$currentUser,$parse){ return {restrict:’EA’,scope:{ assortmentList:’=’, isOpen:’=’, inputPlaceholder:’@’, templateType:’@’, afterSelect:’&’},templateUrl:’../templates/widget/search-input-list.html’,controller:function($scope,$attrs){ var self=this,assortmentList,teamAssortment,userAssortment,teamList,userList; //var getIsOpen=$parse($attrs.isOpen); //var setIsOpen=getIsOpen.assign||angular.noop; this.init=function(){assortmentList=angular.copy($scope.assortmentList);teamAssortment= _.findWhere(assortmentList,{type:’team’});userAssortment= _.findWhere(assortmentList,{type:’user’});$scope.vm={ key:’’, isOpen:$scope.isOpen};$scope.currentUser=$currentUser.get();$scope.$watch(’vm.key’,function(newKey,oldKey){ var condition={$or:{ nickName:{$likeI:newKey }, email:{$likeI:newKey }, mark:{$likeI:newKey }, name:{$likeI:newKey }} }; if(newKey!==oldKey){if(newKey===’’||!newKey){ condition=''; $scope.isSelect=false;}if(!$scope.isSelect){ $scope.selectedItem=’’; self.doSearch(condition);}$scope.isSelect=false; }});//空白區域點擊關閉下拉菜單$scope.$on(’$changeDropMenuState’,function(e,isOpen){ $scope.vm.isOpen=isOpen;}); }; this.searchContacts=function(condition){userList=userAssortment?userAssortment.list:null;return condition &&userList? userList.$query(condition): userList; }; this.searchTeams=function(condition){teamList=teamAssortment?teamAssortment.list:null;return condition &&teamList? teamList.$query(condition): teamList; }; this.selectItem=function(item,type){$scope.isSelect=true;$scope.vm.selectedItem=item;$scope.vm.key=type==’user’ ? $filter(’pxUserName’)(item) :item.name;this.toggleDropMenu(false);if(angular.isFunction($scope.afterSelect)){ $scope.afterSelect({item:item});} }; this.doSearch=function(condition){angular.forEach($scope.assortmentList,function(assortment){ assortment.list=self.getSearchResult(condition,assortment.type);}); }; this.getSearchResult=function(condition,type){if(type==’user’){ return this.searchContacts(condition);}else{ return this.searchTeams(condition);} }; this.toggleDropMenu=function(isOpen){if($scope.templateType===’chat’){ return;}$scope.vm.isOpen=isOpen;$scope.isOpen=isOpen;//setIsOpen($scope,isOpen); };},link:function(scope,element,attr,ctrl){ ctrl.init(); scope.onItemClick=function(item,type){ctrl.selectItem(item,type); }; //此處的input有dropdown-toggle角色,當下拉菜單處于關閉狀態時,解決input輸入文字不顯示下拉菜單的問題 scope.openDropMenu=function(){$timeout(function(){ ctrl.toggleDropMenu(true);},0); };} };}).directive(’pxSearchInput’,function(){ return {restrict:’EA’,replace:true,template:’<input placeholder='' ng-model='vm.key' stop-propagation-element type='text' ng-click='openDropMenu()' ng-keydown='openDropMenu()' />’,require:[’?^pxSearchInputGroup’,’^?ngModel’],link:function(scope,element,attr,ctrl){} };}).directive(’pxAssortmentList’,function(){ return {restrict:’EA’,templateUrl:’../templates/widget/search-mode.html’,replace:true,link:function($scope,element,attr){} };})

//外部數據scope.shareConfig={ isOpen:false, searchKey:’’, isSelected:false, assortmentList:[{title:’群組’,list:scope.teams,type:’team’},{title:’對象’,list:scope.contactAndMemberList,type:’user’,iconSize:’mini’} ], typeName:’任務’};scope.closePopup=function(){ scope.shareConfig.isOpen=false; $rootScope.$broadcast(’$changeDropMenuState’,false);};

//引用的地方<p ng-click='closePopup($event)'> <h3 ng-bind='::shareItem.title||shareItem.name||shareItem.docName'></h3> <form name='shareForm' ng-submit='onSubmit($event)'><span class='px-label-name'>發送到</span> <px-search-input-group input-placeHolder='選擇當前團隊群、聯系人' assortment-list='shareConfig.assortmentList' is-open='shareConfig.isOpen' after-select='afterSelect(item)'></px-search-input-group><p class='explain'>將{{::shareConfig.typeName}}轉發給當前團隊群、聯系人。</p><p class='px-dialog-footer'> <button ng-disabled='!selectedItem'>轉發</button></p> </form></p>

//search-input-list.html<p ng-switch='templateType'> <p ng-switch-when='chat'><p class='col-sm-12'> <input px-search-input placeholder='{{inputPlaceholder}}' /></p><px-assortment-list ng-repeat='assortment in assortmentList'></px-assortment-list> </p> <p ng-switch-default><p dropdown is-open='vm.isOpen'> <input px-search-input dropdown-toggle placeholder='{{inputPlaceholder}}' /> <p role='menu' style='max-height:300px;width:100%;overflow: auto;'><px-assortment-list ng-repeat='assortment in assortmentList'></px-assortment-list> </p></p> </p></p>

//search-mode.html<p > <h6 ng-bind='::assortment.title'></h6> <p ng-if='assortment.list.length==0' ng-bind='::’沒有找到’+assortment.title' style='padding-left:20px;'></p> <ul ng-if='assortment.list.length>0' ng-class='{’px-user-list’:assortment.type==’user’}'><li ng-repeat='item in assortment.list' ng-click='onItemClick(item,assortment.type)' ng-if='item.targetUid!=currentUser.id'> <px-user-photo ng-if='assortment.type==’user’' user='item.profile||item' size='{{assortment.iconSize}}' show-status='{{assortment.showState}}'></px-user-photo> <span ng-if='assortment.type==’file’' class='file-{{assortment.iconSize}}-{{item.suffix}}'></span> <span ng-if='assortment.type==’calender’' class='px-icon icon-calendar'></span> <span ng-if='assortment.type==’task’' class='px-icon icon-task'></span> <a href='javascript:;' ng-bind='item.name' ng-if='assortment.type!=’user’'></a> <a href='javascript:;' ng-bind='::item|pxUserName' ng-if='assortment.type==’user’'></a></li> </ul></p>

問題解答

回答1:

在 $scope.vm.isOpen=isOpen;外圍套一個

$timeout(function(){ $scope.vm.isOpen=isOpen; })

看看

相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线视频观看日韩| 亚洲成人av观看| 亚久久调教视频| 综合色一区二区| 日韩区一区二| 国产精品一区三区在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产亚洲在线| 亚洲青青久久| 国产美女亚洲精品7777| 国产精品**亚洲精品| 国产日韩欧美三级| 老色鬼精品视频在线观看播放| 精品高清久久| 蜜桃精品在线| 夜夜嗨av一区二区三区网站四季av| 免费精品视频| 青草国产精品久久久久久| 国产精品嫩模av在线| 国产精品久久久久久久久免费高清| 国产精品大片| 国产一区二区三区探花| 免费高潮视频95在线观看网站| 久久一级电影| 免费在线观看不卡| 国产欧美日韩精品一区二区免费| 久久一区国产| 久久国产主播| 日韩精品一级二级| 国产日韩亚洲| 日韩成人免费| 亚洲欧美久久久| 国产精品最新| 99久久婷婷| 日韩国产在线观看| 国产videos久久| 欧美午夜精彩| 日本在线成人| 成人片免费看| 蜜芽一区二区三区| 国产日韩欧美一区二区三区在线观看 | 日韩精品dvd| 蜜臀av性久久久久蜜臀aⅴ四虎 | 91精品蜜臀一区二区三区在线| 美国三级日本三级久久99| 欧美精品中文| 亚洲播播91| 蜜桃视频一区二区三区| 国产精品nxnn| 欧美精品羞羞答答| 国产乱码精品一区二区三区亚洲人| 日韩不卡一区| 视频一区二区中文字幕| 免费在线亚洲| 亚洲神马久久| 国产激情在线播放| 最新国产精品视频| 日本欧美不卡| 久久国产欧美日韩精品| 五月天激情综合网| 美女免费视频一区| 午夜一区在线| 国产一区二区视频在线看| 亚洲欧美日韩一区在线观看| 卡一卡二国产精品| 蜜桃久久久久久久| 久久高清精品| 国产精品久av福利在线观看| 国产精品丝袜xxxxxxx| 日本欧美国产| 国产欧美午夜| 亚洲欧美日韩在线观看a三区 | 国产福利资源一区| 国产一区91| 电影91久久久| 奇米狠狠一区二区三区| 激情久久婷婷| 精品一区二区男人吃奶| 日本精品另类| 麻豆9191精品国产| 久久影视一区| 国产精品不卡| 国产精品久久久免费| 在线观看亚洲精品福利片| 99视频精品全国免费| 国产一区二区久久久久| 国产欧美一区二区三区国产幕精品 | 日本高清久久| 久久av在线| 91成人精品视频| 精品一区视频| 国产精品亚洲产品| 91精品麻豆| 亚洲精品影院在线观看| 国产模特精品视频久久久久| 欧美中文一区二区| 久久婷婷亚洲| а√天堂8资源中文在线| 国产福利一区二区精品秒拍 | 亚欧成人精品| 天堂av在线一区| 九一国产精品| 欧美91精品| 久久精品成人| 蜜桃精品在线| 午夜精品成人av| 蜜桃视频在线网站| 国产不卡精品在线| 成人影视亚洲图片在线| 国产一区三区在线播放| 欧美精品不卡| 欧美交a欧美精品喷水| 欧美永久精品| 亚洲精品在线国产| 亚洲一区二区三区中文字幕在线观看| 国产专区一区| 狠狠操综合网| 国产农村妇女精品一二区| 激情久久久久久久| 精品一区在线| 亚洲精华国产欧美| 精品在线99| 香蕉人人精品| 欧美亚洲在线日韩| 亚洲精品中文字幕乱码| 狠狠色狠狠色综合日日tαg| 免费观看久久av| 国产视频一区免费看| 99视频精品免费观看| 午夜在线精品| 亚洲精品第一| 国产精品入口久久| 精品一区av| 视频二区不卡| 99精品综合| 亚洲欧美日本日韩| 亚洲一区二区av| 日韩精品a在线观看91| 久久精品97| 久久亚洲精精品中文字幕| 成人在线免费观看91| 欧美日韩免费观看视频| 国产一区二区中文| 日韩视频精品在线观看| 免费看精品久久片| 97久久精品| 国产一区二区亚洲| 欧美sm一区| 亚洲一区二区三区免费在线观看| 中文视频一区| 国产精品香蕉| 黄毛片在线观看| av不卡在线看| 日韩国产精品久久久| 国产在视频一区二区三区吞精| 精品亚洲美女网站| 亚洲我射av| 麻豆国产精品777777在线| 日本在线高清| 欧美日韩日本国产亚洲在线| 婷婷精品在线| 久久三级中文| 欧美日韩四区| 天堂av一区| 福利在线免费视频| 怡红院精品视频在线观看极品| 日韩av中文字幕一区二区 | 日韩一区欧美| 丝瓜av网站精品一区二区| 欧美欧美黄在线二区| 久久97视频| 亚洲无线一线二线三线区别av| 伊人www22综合色| 久久久久久久欧美精品| 亚洲精品视频一二三区| 麻豆一区二区三区| 欧美色图国产精品| 一级成人国产| 水蜜桃精品av一区二区| 国产毛片一区| 成人污污视频| 免费美女久久99| 国产伦久视频在线观看| 久久亚洲风情| 精品国产不卡| 一本一本久久| 国产精品久久久久蜜臀| 日韩视频二区| 电影91久久久| 欧美亚洲自偷自偷| 国产综合激情| 麻豆视频一区二区| 男女激情视频一区| 电影亚洲精品噜噜在线观看| 日韩**一区毛片| 亚洲精品电影| 精品理论电影在线| 日韩精品视频在线看| 一区二区小说| 精品视频91|