所以,我使用ng-bootstrap DatePicker,并有两种形式,startDate和endDate 我需要做两件事:
以下是我尝试做的事情(现在使用硬编码,而不是从后端获取数据)
from mpl_toolkits.axes_grid1 import host_subplot
import mpl_toolkits.axisartist as AA
import matplotlib.pyplot as plt
host = host_subplot(111, axes_class=AA.Axes)
par1 = host.twinx()
new_fixed_axis = par1.get_grid_helper().new_fixed_axis
host.set_xlim(0, 2)
host.set_ylim(0, 2)
host.set_xlabel("Distance")
host.set_ylabel("Density")
par1.set_ylabel("Volume")
par1.axis['right'].toggle(all = True)
host.plot([0, 1, 2], [0, 1, 2])
par1.plot([0, 1, 2], [2, 4, 3])
plt.show()
另外,如果有人知道怎么做,我希望日历的弹出显示位于页面顶部的方向,而不是底部...没有找到任何属性来设置这个
答案 0 :(得分:2)
您可以在没有属性minDate
的情况下执行此操作,但如果需要,可以执行以下操作。我已经引入了一个新变量dataToBeUsed
(名称相应)作为我们使用的变量,因此在此示例中考虑与您的代码相比较。
首先,您要检查这是Create
还是其他'。我更喜欢在OnInit
而不是构造函数中做初始的事情。您提到如果viewType
不是'Create'
,那么您将从后端获取数据,所以......
ngOnInit() {
if (this.programInput['viewType'] === 'Create') {
// remember objects are mutable
this.dataToBeUsed = this.programInput;
this.dataToBeUsed.startDate = {year: new Date().getFullYear(), month: new Date().getMonth() + 1, day: new Date().getDate()};
} else {
this.getData()
.subscribe(data => {
this.dataToBeUsed = data;
})
}
}
您希望在开始日期更改时更改minDate
。因此,让我们使用ngModelChange
(其余省略)
<input (ngModelChange)="setMinDate($event)" [(ngModel)]="dataToBeUsed.startDate">
setMinDate
方法:
setMinDate(event) {
this.dataToBeUsed.minDate = event;
}
从您的代码中,我删除了变量
startDate, endDate, minEndDate
因为我认为没有用。我们可以在dataToBeUsed
对象中引用相同的属性。
因此,对于第二个日期选择器,您要禁用开始日期之前的日期,我们将其标记为:
[minDate]="dataToBeUsed.minDate"
以下是您的参考资料:http://plnkr.co/edit/zfGUrMJkJzQXTBJ86OSs?p=preview