Я пытаюсь установить дату [max] для одного amp-date-picker
на основе значения другого, но со смещением в 28 дней.
Я пытался использовать event.date(offset=28)
, но я просто получаюошибка ниже, потому что я пытаюсь применить ее к переменной даты, а не к функции date-picker.today.
error.js:205 %s %s amp-bind: Expression eval failed
Я также попытался добавить смещение к дате, используя amp-bind-macro
, но дата анализируется как строка, поэтому я получаю NaN
(в примере кода ниже)
<!--/* Start date */-->
<amp-date-picker
type="single"
layout="container"
format="YYYY-MM-DD"
input-selector="[name=startDate]"
on="
select:
AMP.setState({
binding: {
startDate: event.date,
maxEndDate: maxEndDateFunc(event.date, 3)
}
})">
<input name="startDate" placeholder="Start date">
</amp-date-picker>
<amp-bind-macro id="maxEndDateFunc"
arguments="maxEndDate, maxDays"
expression="maxEndDate*1+maxDays" />
<!--/* End date */-->
<amp-date-picker
type="single"
mode="overlay"
layout="container"
format="YYYY-MM-DD"
input-selector="[name=endDate]"
[min]="binding.startDate"
[max]="binding.maxEndDate"
on="
select:
AMP.setState({
binding: {
endDate: event.date
}
})">
<input name="endDate" placeholder="End date">
</amp-date-picker>
Когда я выбираю 1 мая 2019 года в начале date-picker
, я ожидаю, что он установит максимальное значение конца date-picker
до 28 мая 2019 года со смещением n
дней.
Есть ли способ сделать это без использования типа диапазона, так как установка максимальных ночей ограничивает выбранные минимальные и максимальные даты?