ipyvuetify 无法将 prop 设置为静态文本
Posted
技术标签:
【中文标题】ipyvuetify 无法将 prop 设置为静态文本【英文标题】:ipyvuetify can't set prop to static text 【发布时间】:2022-01-14 19:05:10 【问题描述】:你好互联网的好人;)
新工作,新语言。我需要在 Jupiter 笔记本中修改 Ipyvuetify Vue 代码以使用静态道具。
我能够拼凑简单的 vue 示例 我可以在 vue 文件中以声明性方式通过分配的静态文本设置子组件的属性。 它在 js 变体中工作得很好。 https://jsfiddle.net/wu9bxL1n/1/
但同样的方法在 ipyvuetify 语法中似乎根本不起作用。没有错误没有什么。分配给子道具的静态字符串只是被默默地忽略,我似乎无法在文档中找到任何原因。我错过了什么?
这是 ipyvuetify 语法复制/粘贴到 Jupiter 笔记本中的最小可能代码。
import ipyvuetify as v
import traitlets
class AA(v.VuetifyTemplate):
template = traitlets.Unicode('''
<template>
<v-card-title>label</v-card-title>
</template>
<script> export default name: "aa", props: ['label'] </script>''').tag(sync=True)
label = traitlets.Unicode('But this is showing default text instead').tag(sync=True)
class BB(v.VuetifyTemplate):
template = traitlets.Unicode('''
<template>
<div>
<v-text-field label="This text was set statically" ></v-text-field>
<aa label="This text was set statically"></aa>
</div>
</template>''').tag(sync=True)
components = traitlets.Dict(default_value='aa': AA()).tag(sync=True, **v.VuetifyTemplate.class_component_serialization)
BB()
---
Output:
This text was set statically
But this is showing default text instead
【问题讨论】:
【参考方案1】:哦,男孩。
答案是在某些 3rd 方库源代码中看到的一些未记录的行为。
我们需要使用
default_value='aa': AA
而不是
default_value='aa': AA()
然后将静态道具设置为您自己的组件将起作用。 我知道很奇怪。
希望解决某些问题的人会发现这一点。 保重伙计们;)
【讨论】:
以上是关于ipyvuetify 无法将 prop 设置为静态文本的主要内容,如果未能解决你的问题,请参考以下文章
使用 css prop 运行带有 CRA 和 Emotion 的 Quokka.js 时出现错误(运行时为经典时无法设置 importSource)
Vue.js + Typescript:如何将@Prop 类型设置为字符串数组?