首页 新闻 会员 周边 捐助

当有异步操作并且延迟时间超过55ms时,<datalist>标签在firebox浏览器无法渲染出最新的数据

0
悬赏园豆:10 [待解决问题]

当有异步操作并且延迟时间超过55ms时,<datalist>标签在firebox浏览器无法渲染出最新的数据,在chrome是可以渲染出来的,代码如下

<!DOCTYPE HTML>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.11/angular.min.js"></script>
<script type="text/javascript">
var app=angular.module('app',[]);
app.controller('ctrl',function($scope,$timeout){
$scope.datas=[];
$scope.getData=function(text){
$timeout(function(){
$scope.datas=[];
$scope.datas.push({'id':'1'+text,'value':text+'...'+'qq.com'});
$scope.datas.push({'id':'2'+text,'value':text+'...'+'aa.com'});
$scope.datas.push({'id':'3'+text,'value':text+'...'+'ss.com'});
$scope.datas.push({'id':'4'+text,'value':text+'...'+'ee.com'});
$scope.datas.push({'id':'5'+text,'value':text+'...'+'ww.com'});
$scope.datas.push({'id':'6'+text,'value':text+'...'+'cc.com'});
//console.log($scope.datas);
},520)
}
})
</script>
</head>

<body ng-app='app' ng-controller='ctrl'>

<input type="text" name="data" ng-model="text" list="data" ng-change="getData(text)">
<datalist id="data">
<option ng-repeat="d in datas track by d.id" value="{{d.value}}"></option>

</datalist>
</body>
</html>

如何在异步操作数据更新后让firebox进行数据更新显示,目前只有退格才能显示之前的数据内容,当不是当次查询的数据结果,求大神解答(PS: $scope.applay()不能使用,因为这本身angularjs已经自带了数据检查,用了会与原本的冲突)

昨日章鱼的主页 昨日章鱼 | 初学一级 | 园豆:140
提问于:2019-01-03 10:18
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册