gpt4 book ai didi

javascript - Ng-Tag-Input 指令不清除值

转载 作者:行者123 更新时间:2023-11-29 15:31:48 28 4
gpt4 key购买 nike

我正在使用 ngTagInput自动建议指令。我想要的是清除点击建议后的自动建议。虽然它在第一次调用函数时清除,但在第二次调用时不清除。它在第二次函数调用时添加为标记。我想删除它。

在 HTML 上,

<tags-input ng-model="autoSongs"
key-property="_id"
display-property="name"
add-from-autocomplete-only="true"
replace-spaces-with-dashes="false"
on-tag-adding="songAdded($tag)"
on-tag-added="emptyScope()"
template="tag-template"
placeholder="type here to search for album..."
on-tag-removed="songRemoved($tag)">
<auto-complete source="loadSongs($query)"
min-length="2"
debounce-delay="5"
max-results-to-show="10"
template="autocomplete-template"></auto-complete>
</tags-input>

在 Controller 上这样,

$scope.loadSongs = function(query) {
var autoFilter = 'name=' + query;
return songService.autoSuggest(autoFilter, function(error, data) {
if (error) {
toastr.error(error.message, 'Error');
return false;
}
return data;
});
};

$scope.songAdded = function(query) {
if ($scope.pushArray.checkbox.length === 0) {
toastr.error('Select record to assign album.', 'Error');
return false;
}
var songId = query._id,
songName = query.name;
videoService.assignSong(songId, $scope.pushArray.checkbox, function(err, resonse) {
if (err) {
toastr.error(err.message, 'Error');
} else {
$scope.emptyScope();
toastr.success('\'' + songName + '\' has been assigned to ' + resonse + ' records', 'Success');
$scope.pageChanged();
}
});
return true;
};

$scope.emptyScope = function() {
$scope.autoSongs = null;
};

它不会在第二次尝试时清除值。我可以单独使用带有回调的自动建议吗?

plunker

最佳答案

如果您控制台记录 $scope.autoSongs 的值,您会发现它确实是一个数组
所以清空值的函数必须是这样的:

$scope.emptyScope = function() {
//$scope.autoSongs = null;

$scope.autoSongs = [];
};

工作 plunker

PS:请同时阅读 this所以回答关于清空数组的问题。

关于javascript - Ng-Tag-Input 指令不清除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34195709/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com