今天我正在研究日历控件并使用了这个
图书馆请检查一下。
所以现在我的问题是关于如何在标记日期中传递日期数组
我用过这个 ::
//Here is My State
state={
markedData:['2017-11-12','2017-11-16'],
}
// Here is what i have do in Calendar control view
markedDates= {{[this.state.markedData]: {selected: true}}}
但是什么也没发生,所以你能帮我解决这个问题吗
将 markedData 的数组转换为对象,如下所示
let dates = {};
this.state.markedData.forEach((val) => {
dates[val] = {selected: true};
});
现在,在将值传递给 markedDates 属性的同时,传递新构造的对象,例如
markedDates= {dates}
希望这会有所帮助。
markedDates= {{
[this.state.markedData]: {selected: true, marked: true},
}}
您错过了将标记为 true 的声明,如果不是这个概率,那么首先您可以检查 [this.state.markedData] 是否包含日期。
我找到了一个类似的解决方案,因为我一直在尝试您发布的解决方案,但对于我的 React 版本,它不起作用。
const datesList = [2023-04-04], [2023-05-24, [2023-09-30]
//Push the array of dates to convert it into an object
let dates = {}
datesList.forEach(
(item )=> {dates[item] = {selected: true}}
)
然后,在我的组件函数中:
<View>
<CalendarList
markedDates={dates}
/>
</View>
希望它有效!