嗨,让我们看看你是否可以帮助我,我对Angular Material非常熟悉
我有一个包含 N 条记录的表,我正在尝试按日期范围进行过滤。我有一个选项(1 天、5 天、1 周、15 天),其中加载了一个变量
JS
vm.rangos=[
{id:"1",name:'1 día',value:'1'},
{id:"2",name:'5 días',value:'5'},
{id:"3",name:'1 Semana',value:'7'},
{id:"4",name:'15 días',value:'15'}
];
HTML
<div layout="row" flex="90" layout-align="start center">
<label flex="25">Rango</label>
<select flex="60" ng-model="vm.rangoSelected" placeholder="" ng-options="ran.name for ran in vm.rangos" class="selectPersonalizado ">
</select>
</div>
老实说,我不知道如何执行过滤器以显示所选范围内的结果
在这个函数中,我收集选定的值
function sendFilter(){
var filterSend = "";
switch(vm.filterSelected){
case 'rango':
filterSend = vm.rangoSelected.value;
break;
default:
alert('no hecho');
break;
}
vm.showLastMovements(filterSend);
}
在警报中,我得到了选择的值。
如果您可以帮助我或至少给我一个线索来创建所述功能,然后从案例中进行调用以显示所述选择的记录,我将不胜感激。
非常感谢
我不太了解您切换的目的,但我想它是为了知道是否已选择并应用了过滤器。为此,一个简单的 if 就足够了。我将解释如何安装类似的过滤器。
在选择中,我将第一个选项设置为“无过滤器”,值为 NO,然后我输入了其余选项。在控制器中,我初始化 vm.rangeSelected='NO':
然后我将选定的值传递给过滤器函数。您的过滤器功能应该这样做:
要使用日期,我推荐moment.js,您可以使用它轻松添加日期:
moment().add(7, 'days');
或检查日期是否在范围内:fecha.isBetween(inicio, fin);