【发布时间】:2017-01-30 11:27:40
【问题描述】:
有一个表格,其中在不同列的 Header 中应用了排序。
如果一列排序正在进行/处理,同时另一列的排序被用户单击。 它的行为与正确的短路不符。
<div class="table-col">
Title
<a href="#" class="image_rght" data-bind="click: function(data,event){app.viewModel.sort('Title')},css:{noclass: app.viewModel.sortBy()=='' && app.viewModel.sortDirection(),toggleup:app.viewModel.sortBy()=='Title'&& app.viewModel.sortDirection(),toggledown:app.viewModel.sortBy()=='Title'&& !app.viewModel.sortDirection()}"><img src="~/Content/images/up_down_arrow.png" /></a>
</div>
<div class="table-col">
Date
<a href="#" class="image_rght" data-bind="click: function(data,event){app.viewModel.sort('StartDate')}, css:{toggleup:app.viewModel.sortBy()=='StartDate'&& app.viewModel.sortDirection(),toggledown:app.viewModel.sortBy()=='StartDate'&& !app.viewModel.sortDirection()}"><img src="/Content/images/up_down_arrow.png" /></a>
</div>
<div class="table-col">
Facility
<a href="#" class="image_rght" data-bind="click: function(data,event){app.viewModel.sort('FacilityName')}, css:{toggleup:app.viewModel.sortBy()=='FacilityName'&& app.viewModel.sortDirection(),toggledown:app.viewModel.sortBy()=='FacilityName'&& !app.viewModel.sortDirection()}"><img src="/Content/images/up_down_arrow.png" /></a>
</div>
所以我想在另一个正在进行/处理时停止其他排序事件。
例如:用户点击Title进行排序,因为它的过程没有完成,同时用户点击Date列,那么日期列事件不应该被触发,直到标题排序未完成。
【问题讨论】:
-
当你说排序正在进行时 - 它是一个动画,还是你的排序功能异步运行并且只需要很长时间?
标签: sorting knockout.js knockout-2.0 knockout-3.0