是否可以根据已设置为其他道具值的道具来设置道具的默认值? 例如,我希望能够将日期格式设置为一个属性,并根据需要设置初始日期。初始日期应以提供的格式显示。道具的定义如下:
format:
{
type: String,
required: false,
default:"DD.MM.YYYY"
},
init_date:
{
type: String,
required: false,
default: moment().format(this.format).toString()
},
但这似乎不起作用,因为矩似乎忽略了this.format
,而是使用默认的矩格式。硬编码似乎可行:
default: moment().format("YYYY-MM-DD").toString()
是否有将this.format
的值添加到init_date
属性中?
感谢您的帮助!
答案 0 :(得分:1)
如果要响应init_data
道具中的更改,请使用计算值或手表。
但是在这种情况下,我将使用阴影变量,可以在data
函数中使用道具:
props: {
init_date: { type: String, default: "" },
},
data() {
let date_var = this.init_data;
if (date_var === '') {
date_var = moment().format(this.format).toString()
}
return {
date_var
}
}
答案 1 :(得分:0)
不,这不可能。您不能在另一个道具的默认值中引用一个道具。您必须使用 data
属性并在 mounted
中设置值,或者使用 computed
属性,或者使用其他属性作为属性的方法,而不是使用 prop一个输入并返回一个值(然后使用您在模板中选择的任何您将使用您的道具的地方)。