14

是否有更简单的方法来编写以下复选框组件:

<script>
  export let disabled = false;
</script>

{#if disabled}
  <label class="checkbox" disabled>
    <input type="checkbox" {disabled} />
    <slot></slot>
  </label>
{:else}
  <label class="checkbox">
    <input type="checkbox" {disabled} />
    <slot></slot>
  </label>
{/if}

拥有<label disabled="false">是不可接受的,因为 Bulma 有一个 CSS 类.checkbox[disabled]

4

1 回答 1

23

disabled || null(或disabled || undefined)会做的伎俩:

<label class="checkbox" disabled={disabled || null}>
  <input type="checkbox" {disabled} />
  <slot></slot>
</label>

文档

... [A] 属性包括在内,除非它们的值是无效的 (nullundefined)。

<input required={false} placeholder="This input field is not required">
<div title={null}>This div has no title attribute</div>
于 2019-11-25T09:28:29.880 回答