有两个日期组件A和B,希望A的值变化时,执行函数动作(值变化动作)function onChange({ value }) ,在函数中将A的阳历日期转化为阴历日期,并赋值给B。请问这个代码怎么写?
下面是写过的代码,但是没反应:
export function didMount() {
this.utils.loadScript("https://github.com/jjonline/calendar.js").then(() => {
onChange({ value });
});
}
export function onChange({ value }) {
console.log('onChange', value);
var dateA = document.getElementById('dateField_lnsbszku').value;
var lunarDate = calendar.solar2lunar(dateA);
document.getElementById('dateField_lnsbszkv').value = lunarDate.toString();
}
要将时间组件A的值转化为农历时间赋值给日期组件B,可以使用以下方法:
function_on_change
,当时间组件A的值发生变化时,执行该函数。function_on_change
函数中,获取时间组件A的值,并将其转换为日期对象。calendar.solar2lunar()
方法将日期对象转换为农历日期对象。以下是实现这个功能的代码:
function function_on_change() {
// 获取时间组件A的值
var dateA = document.getElementById('dateField_lnsbszku').value;
// 将日期值转换为日期对象
var dateObj = new Date(dateA);
// 将日期对象转换为农历日期对象
var lunarDate = calendar.solar2lunar(dateObj);
// 将农历日期对象转换为字符串
var lunarDateStr = lunarDate.toString();
// 将农历日期字符串赋值给日期组件B
document.getElementById('dateField_lnsbszkv').value = lunarDateStr;
}
// 为时间组件A添加值变化事件监听器
document.getElementById('dateField_lnsbszku').addEventListener('change', function_on_change);
这样,当时间组件A的值发生变化时,function_on_change
函数会被执行,将时间组件A的值转换为农历时间,并将结果赋值给日期组件B。
根据您提供的信息,您有两个日期组件A和B,希望当A的值变化时,执行函数动作,并将A的阳历日期转化为阴历日期,并赋值给B。根据您提供的代码,您已经定义了didMount
和onChange
两个函数,但是didMount
函数中并没有使用到onChange
函数,因此无法实现您的需求。为了解决这个问题,您可以尝试以下方法:
onChange
函数定义在didMount
函数中,以便在组件加载完成后立即执行。onChange
函数中,将A的阳历日期转化为阴历日期,并赋值给B。下面是修改后的代码示例:
export function didMount() {
this.utils.loadScript("https://github.com/jjonline/calendar.js").then(() => {
this.onChange({ value });
});
}
export function onChange({ value }) {
console.log('onChange', value);
var dateA = document.getElementById('dateField_lnsbszku').value;
var lunarDate = calendar.solar2lunar(dateA);
document.getElementById('dateField_lnsbszkv').value = lunarDate.toString();
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。