我创建了一些带有可选道具的组件,例如hide={true}
. 我的问题是,当我不通过该道具时,这些烦人的错误消息总是会淹没我的控制台:
<MyComponent> was created without expected prop 'hide'
Run Code Online (Sandbox Code Playgroud)
有没有办法将道具声明为可选?
在某些情况下,您不需要默认值,因此最好使用默认值null
。
<script>
export let myProp = null // Default value is null
</script>
<div class:has-some-prop={myProp}>
{#if myProp }
Has Prop: {myProp}
{:else}
No Prop
{/if}
</div>
Run Code Online (Sandbox Code Playgroud)
<MyComponent/>
<MyComponent myProp='yep'/>
Run Code Online (Sandbox Code Playgroud)
<div>No Prop</div>
<div class:has-some-prop>
Has Prop<span>yep</span>
</div>
Run Code Online (Sandbox Code Playgroud)
只需给他们一个默认值。
MyComponent.svelte
<script>
export let i = 123 // Default value is now 123
</script>
<!-- Output is "i = 123" -->
<p>i = {i}</p>
Run Code Online (Sandbox Code Playgroud)
App.svelte
<script>
import MyComponent from './MyComponent.svelte'
</script>
<!-- No error here! -->
<MyComponent/>
Run Code Online (Sandbox Code Playgroud)
因此,在您的情况下,您将更export let hide
改为export let hide = false
.
归档时间: |
|
查看次数: |
1263 次 |
最近记录: |