Javascript 使用angular和ng模型更改模型时,不会更新Materialize select
所以我使用了物化css和角度js 当我更改模型值时,select不会更新。如果我从该示例中删除materialize,则一切正常 当我添加materialize js时,绑定似乎完全被破坏了。。也许有人已经解决了这个问题Javascript 使用angular和ng模型更改模型时,不会更新Materialize select,javascript,angularjs,materialize,Javascript,Angularjs,Materialize,所以我使用了物化css和角度js 当我更改模型值时,select不会更新。如果我从该示例中删除materialize,则一切正常 当我添加materialize js时,绑定似乎完全被破坏了。。也许有人已经解决了这个问题 <div class="container" ng-app="App"> <form ng-controller="Ctrl"> <div class="row"> <div class="col s12 inp
<div class="container" ng-app="App">
<form ng-controller="Ctrl">
<div class="row">
<div class="col s12 input-field">
<select name="selectInput" ng-model="object.select">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
<label for="selectInput">Test select</label>
</div>
</div>
<div class="row">
<button class="btn" type="button" ng-click="click1()">
Test 1
</button>
</div>
<div class="row">
<button class="btn" type="button" ng-click="click2()">
Test 2
</button>
</div>
<div>
{{object.select}}
</div>
</form>
</div>
您应该在刷新选择值后调用M.FormSelect.init,但在setTimeout内调用它以确保已更新 例:
参考链接:我想我找到了解决办法。。调用$'select'.valoptionValue,然后调用$'select'.material\u select。。但无论如何,这是一个绑定不起作用的bug:
angular.module('App', [])
.controller("Ctrl", ['$scope', function($scope) {
$scope.object = {};
$scope.object.select = "1";
$scope.click1 = function() {
$scope.object.select = "1";
}
$scope.click2 = function() {
$scope.object.select = "2";
}
$('select').material_select();
}]);
import * as M from 'materialize-css';
setCities(cities) {
this.cities= cities
setTimeout(() => {
M.FormSelect.init(document.querySelectorAll('#cities'), {})
}, 0)
}
<select id="cities" class="validate" [disabled]="!cities" name="cities" [(ngModel)]="client.adress.city.id">
<option value="" disabled selected>Select a city</option>
<option *ngFor="let city of cities" value="{{city.id}}">{{city.name}}</option>
</select>