Javascript 是否可以对多个实例重用FlatPicker窗格的DOM?
我们使用提供统一的界面来编辑日期。在一个实例中,有一个包含许多(数百)行的表,每一行都有一个日期输入,我们使用FlatPicker 考虑到一次只打开一个FlatPicker,是否可以避免在DOM中创建数百个隐藏窗格,而是对所有窗格使用单个窗格Javascript 是否可以对多个实例重用FlatPicker窗格的DOM?,javascript,flatpickr,Javascript,Flatpickr,我们使用提供统一的界面来编辑日期。在一个实例中,有一个包含许多(数百)行的表,每一行都有一个日期输入,我们使用FlatPicker 考虑到一次只打开一个FlatPicker,是否可以避免在DOM中创建数百个隐藏窗格,而是对所有窗格使用单个窗格 所以我们在AngularJS应用程序中遇到了类似的问题。我们找到的解决方法是向输入字段添加FocusHandler,在该处理程序中创建flatpickr实例,然后对该实例调用.open() handleFocus = () => { const
所以我们在AngularJS应用程序中遇到了类似的问题。我们找到的解决方法是向输入字段添加FocusHandler,在该处理程序中创建flatpickr实例,然后对该实例调用
.open()
handleFocus = () => {
const config = {...}
this.flatpickrInstance = flatpickr(this.input, config);
this.flatpickrInstance.open();
};
为了清理,我们还向输入字段添加了一个BlurHandler,以便在保存的FlatPicker实例上调用.destroy()
。这里唯一的问题是.destroy()
将清除输入字段的值,因此我们需要在调用destroy后立即设置该值,如下所示:
handleBlur = () => {
const val = this.flatpickrInstance.input.value;
this.flatpickrInstance.destroy();
this.input.value = val
};