gpt4 book ai didi

javascript - 是否有可能需要 Vue 组件的许多 Prop 之一?

转载 作者:行者123 更新时间:2023-12-05 05:01:54 26 4
gpt4 key购买 nike

我正在开发一个必须接受一段文本或一个链接的 Vue 组件。当传入一个链接时,我想创建一个 anchor 标记,当输入一段文本时,我想创建一个跨度。我目前的问题是,看起来每个 Vue Prop 都有自己的验证器,即

    url: {
type: String,
required: true
},
text: {
type: String
}

上面的代码不能满足我的需求,因为它需要 url,这是我希望在传递文本时可选的内容。

我如何才能让这个组件按要求接受一个 url 或一段文本?

奖励:我要怎么做才能让组件只能带一个?即,如果同时传入 URL 和文本,则失败。

最佳答案

事实上,prop 验证器必须是纯函数,因为它们无法访问组件的 THIS。但是您可以通过使用一个 Object 类型的 Prop 来解决您的问题:

props:
{
params:
{
type: Object,
validator: (value) =>
{
return !!value &&
Object.keys(value).length === 1 &&
['url', 'text'].includes(Object.keys) &&
typeof Object.values(value)[0] === 'string' &&
Object.values(value)[0] !== '';
}
}
}

关于javascript - 是否有可能需要 Vue 组件的许多 Prop 之一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62472591/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com