여기에 결과의 스크린 샷입니다 :

다음은 키 HTML입니다 :
<md-input-container md-no-float flex="30">
<md-select name="favoriteColor" ng-model="color" placeholder="Pick a Color"
ng-init="showOptions=true"
my-on-focus="showOptions"
md-on-close="showOptions=false">
<md-option value="red">Red</md-option>
<md-option value="blue">Blue</md-option>
<md-option value="green">Green</md-option>
</md-select>
</md-input-container>
참고 ng-init
, my-on-focus
및 md-on-close
속성.
이
app.directive('myOnFocus', function() {
return {
scope: true,
restrict: 'A',
link: function(scope, elem, attr, ctrl) {
elem.bind('focus', function() {
if (scope[attr.myOnFocus]) {
elem.triggerHandler('click');
}
});
elem.bind('blur', function() {
scope[attr.myOnFocus] = true;
});
}
};
});
트릭은 blur
이 지침에서 실행 될 때까지 다시 열리지 않도록 선택이 닫힐 때 false
에 showOptions
변수를 설정하는 것입니다
다음은 AngularJS와 지시어입니다.
여기에 입력 영역 아래에 표시하는 선택 드롭 다운을 얻기 위해 CSS의 :
md-select-menu {
margin-top: 50px;
}
마지막으로, 여기에 작업 Plunker, http://plnkr.co/edit/FD5u78pC3HbO9UwUOKXR?p=preview입니다.
희망이 있습니다. 궁금한 점이 있으면 알려주세요.
감사합니다. plunkr. 초점 부분에 드롭 다운이 작동 중입니다. 개발자가 하나의 추가 속성에서이를 달성 할 수 있도록 노출 된 범위 변수와 mdOnClose를 숨기려면 지시문을 약간 수정했습니다. http://plnkr.co/edit/m6LGjVronWR2dMQrwGFn?p=preview. 그게 올바른 접근인지 알려주세요. 그러나 CSS를 변경하면 상단에 여백이 추가되므로 다른 옵션을 선택하면 드롭 다운이 계속 진행됩니다. – jose