国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Angularjs material 實現(xiàn)搜索框功能

2019-11-20 10:26:04
字體:
供稿:網(wǎng)友

angular-material 是 AngularJS 的一個子項目,用來提供實現(xiàn)了 Material Design 風格的組件。

Material 提供了大量的android 風格的UI組件,使用 angularjs + Material 可以很容易開發(fā)出風格接近原生 Android 5.x 的web界面。但在實際使用的過程中并不總是能滿足我們的需求。開發(fā)一個組件就成了我們必須學習的內(nèi)容。

下面是一個組件的實現(xiàn):

//前面省略若干代碼 directive('mdSearchInput',[function(){ return{ restrict:'E', controller:['$scope','$timeout',function($scope,$timeout){ var tsk=null; $scope.delay=1000; $scope.on_changed=function(){ if(null !== tsk) {$timeout.cancel(tsk);} //去掉前一個任務 tsk = $timeout(function(){ $timeout.cancel(tsk);tsk=null; $scope.onSearch()($scope.searchText); },$scope.delay); };$scope.on_clear=function(){ var tsk=null;$scope.searchText=''; tsk=$timeout(function(){ $timeout.cancel(tsk);tsk=null; $scope.onSearch()($scope.searchText); },100); } }], scope:{ inputName: '@mdInputName', searchText: '=?mdSearchText', onSearch: '&?mdSearch', placeholder: '@placeholder', delay: '@delay' }, template:'<div class="md-search-input" layout="row">/ <input type="text" flex autocomplete="off" ng-model="searchText" name="{{inputName}}" placeholder="{{placeholder}}" ng-change="on_changed()" />/ <md-button class="md-fab" ng-click="on_clear()" ng-show="searchText!==/'/'"><md-icon md-svg-icon="md-close" style="color:rgba(0,0,0,0.5);"></md-icon></md-button>/ </div>', link:function($scope, $element){ } }; }]);

CSS 樣式:

.md-search-input{ box-sizing: border-box;border: none;box-shadow: none;background: 0 0; border-radius:5px;background: #FFF;margin:0px;position: relative; input{outline: 0;font-size: 14px; width: 100%; padding: 0 15px; line-height: 40px;height: 40px;border: none;background:transparent;} button,.md-fab,.md-button,button:hover,.md-fab:hover { background:transparent !important; line-height:40px;height:40px;width:40px;font-size:14px;box-shadow:none !important;margin:0px;padding:0px; color:rgba(0,0,0,0.5) !important; } }

配合 ng-route 可以很容易實現(xiàn)無刷新的APP 讓您的web頁面更加接近app體驗,
在 maincontroll中,通過監(jiān)聽 ng-route 的頁面即將跳轉(zhuǎn)事件 來重置消息框,

//在頁面改變之前,重置搜索框. $scope.$on('SearchText.Reset',function(){ $scope.searchConfig={show:false, key:'',delay:1200};}); $rootScope.$on('$routeChangeStart', function (event, next) { $rootScope.$broadcast('SearchText.Reset'); });

而在需要用到搜索功能的地方,則只需要在控制器里通過如下代碼實現(xiàn):

//陪值搜索框為己用 $scope.$emit('Search.Config',{ show:true, key:'',delay:800, emptyText:"請輸入:商家名稱,賬號,電話 等內(nèi)容以進行搜索.", onSearch: function(){ return function(v){ $scope.merData.query(v); //調(diào)用本控制器的數(shù)據(jù)查詢接口. } } });

以上所述是小編給大家介紹的Angularjs material 實現(xiàn)搜索框功能,希望對大家有所幫助!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 天等县| 甘孜县| 武平县| 余江县| 无极县| 霞浦县| 鄯善县| 临泉县| 和静县| 楚雄市| 永和县| 寿光市| 会同县| 日土县| 兴隆县| 军事| 时尚| 于田县| 莒南县| 奉贤区| 隆林| 虞城县| 弥勒县| 罗平县| 康定县| 绥化市| 长汀县| 临西县| 莎车县| 许昌市| 陕西省| 楚雄市| 六安市| 松潘县| 平江县| 章丘市| 湄潭县| 柏乡县| 时尚| 白朗县| 广丰县|