【发布时间】:2022-03-12 03:41:53
【问题描述】:
我想创建一个纤细的组件,它导出一个可绑定的布尔值并表示单选按钮组的状态,如以下代码:
<script lang="ts">
export let firstSelected = true;
</script>
<input type="radio" bind:group={firstSelected} value={true}/>
<input type="radio" bind:group={firstSelected} value={false}/>
问题在于svelte-check 发出错误:
Error: Type 'true' is not assignable to type 'string | number | string[]'. (ts)
Error: Type 'false' is not assignable to type 'string | number | string[]'. (ts)
一种可能的解决方法是使用数字而不是布尔值,但这会改变组件的界面:
<script lang="ts">
export let firstSelected = 1;
</script>
<input type="radio" bind:group={firstSelected} value={1}/>
<input type="radio" bind:group={firstSelected} value={0}/>
有没有办法解决这个问题,同时仍然公开可绑定的布尔值? 如果没有,有没有办法忽略这个错误?
REPL 示例:https://svelte.dev/repl/b6e9042a1b594f2bb77b1e8e7b38ffe1?version=3.31.2
【问题讨论】:
标签: typescript svelte