Javascript 有没有一种简单的方法可以让两个人用有角度的材料来实现选择,选项是学期、季度和月份?
我正在尝试用角材质选择构建一个特殊的日期选择,其中mat选项如下:第一和第二学期、第一、第二、第三、第四季度和12个月。我希望它能工作,如果我选择第二学期,那么第三和第四季度会自动选择,从7月到12月(也是第二学期的月份)。如果我取消选择十月,那么mat select会自动取消选择第二学期和第三季度,但不是第四季度。我希望,我能正确地解释这项任务,首先对我来说,这似乎是一项相当简单的任务,但由于很多天,我无法实现一个解决方案。任何人都可以帮助我,无论做什么,如何解决这个问题,我想将这些日期范围相互绑定? 以下是我尝试的一些代码,以及我想要得到的图片Javascript 有没有一种简单的方法可以让两个人用有角度的材料来实现选择,选项是学期、季度和月份?,javascript,angular,angular-material,html-select,angular-reactive-forms,Javascript,Angular,Angular Material,Html Select,Angular Reactive Forms,我正在尝试用角材质选择构建一个特殊的日期选择,其中mat选项如下:第一和第二学期、第一、第二、第三、第四季度和12个月。我希望它能工作,如果我选择第二学期,那么第三和第四季度会自动选择,从7月到12月(也是第二学期的月份)。如果我取消选择十月,那么mat select会自动取消选择第二学期和第三季度,但不是第四季度。我希望,我能正确地解释这项任务,首先对我来说,这似乎是一项相当简单的任务,但由于很多天,我无法实现一个解决方案。任何人都可以帮助我,无论做什么,如何解决这个问题,我想将这些日期范围相
<mat-select multiple>
<mat-option *ngFor="let semester of dateYear.semesters"
(onSelectionChange)="selectDateInterval(dateYear.year, semester, $event)">
{{semester.text}}</mat-option>
<hr>
<mat-option *ngFor="let quarter of dateYear.quarters"
(onSelectionChange)="selectDateInterval(dateYear.year, quarter, $event)">{{quarter.text}}</mat-option>
<hr>
<mat-option *ngFor="let month of dateYear.months"
(onSelectionChange)="selectDateInterval(dateYear.year, month, $event)">{{month.text}}</mat-option>
</mat-select>
{{semerm.text}
{{quarter.text}
{{month.text}
(对于结果,我希望获得数组中选定的月份索引:第一个pic:[1,2,3,4,5,6],第二个pic:[1,2,4,5,6](或开始使用零进行索引))
不幸的是,没有属性,我可以在其中设置是否选择了mat选项(例如:)
我感谢任何可能的解决方案,即使是反应形式的方法或不是基于角度材料的解决方案。谢谢我建议一个包括反应式表单的解决方案:将
表单控件
连接到您的mat select
。然后听下面这样的变化:
formControl.valueChanges.subscribe({next: (value) => { your logic here }});
您还需要跟踪选择中发生的更改,以便可以相应地采取行动。因此,我建议使用:rxjs
pairwise
操作符:我建议一种包括反应式表单的解决方案:将表单控件
连接到mat select
。然后听下面这样的变化:
formControl.valueChanges.subscribe({next: (value) => { your logic here }});
您还需要跟踪选择中发生的更改,以便可以相应地采取行动。因此,我建议使用:rxjs
pairwise
操作符:如果你在stackblitz上构建一个可复制的场景,我相信这会很容易帮助你。如果你在stackblitz上构建一个可复制的场景,我相信这会很容易帮助你。