Jos*_*mes 5 angularjs angular-material
在使用md-tab指令内的搜索输入嵌套md-select时遇到问题.
有两个问题:
我做了一个codepen来更好地说明我的意思:
<md-tab label="Search does not work here">
<md-input-container class="md-block" flex>
<label>Vegetables</label>
<md-select
multiple
ng-model="selectedVegetables"
md-on-close="clearSearchTerm()"
data-md-container-class="selectdemoSelectHeader">
<md-select-header class="demo-select-header">
<input
type="search"
ng-model="searchTerm"
placeholder="Search.."
class="demo-header-searchbox md-text">
</md-select-header>
<md-optgroup label="vegetables">
<md-option
ng-value="vegetable"
ng-repeat="vegetable in vegetables | filter:searchTerm">
{{vegetable}}
</md-option>
</md-optgroup>
</md-select>
</md-input-container>
</md-tab>
Run Code Online (Sandbox Code Playgroud)
Angular.js 1.5.3角材料1.0.9
谢谢
小智 5
我遇到了完全相同的问题,我设法通过执行以下操作来解决它
<md-select-header class="demo-select-header">
<input
ng-model="formData.searchTerm"
type="search"
placeholder="Search for a student.."
aria-label
class="demo-header-searchbox _md-text"
ng-keydown="vm.updateSearch($event)">
</md-select-header>
Run Code Online (Sandbox Code Playgroud)
然后在我的控制器中,我定义了一个不应在搜索文本中显示的字符代码数组
vm.bannedCodes = [ 8,9,13,16,17,18,19,20,27,33,34,35,36,37,38,39,40,45,46,91,92,
106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,121,123,144,145];
Run Code Online (Sandbox Code Playgroud)
更新搜索功能
function updateSearch(e){
e.stopPropagation();
if(vm.bannedCodes.indexOf(e.keyCode) < 0){
if(e.keyCode == 8){
$scope.formData.searchTerm =
$scope.formData.searchTerm.substring(1, $scope.formData.searchTerm.length -1);
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
我也遇到了这个问题,但通过遵循此解决方案解决了它。这是我的 HTML 代码
<md-input-container>
<label></label>
<md-select ng-model="selectedVegetables">
<md-select-header>
<input ng-model="searchTerm" class="_md-text" onkeydown="mdSelectOnKeyDownOverride(event)">
</md-select-header>
<md-optgroup>
<md-option></md-option>
</md-optgroup>
</md-select>
</md-input-container>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7171 次 |
| 最近记录: |