Flux 中的每一个设计决策都是经过深思熟虑、带着明确意图做出的。理解这些设计意图,会让你使用 Flux 的体验更加直观自然。
理想情况下,内化了部分 Flux 的设计哲学之后,你几乎可以“猜到”如何使用一个自己尚不熟悉的组件。
<flux:button variant="primary" x-on:change.prevent="..."><button type="button" class="bg-zinc-900 ..." x-on:change.prevent="..."><flux:button class="w-full"><button type="button" class="w-full border border-zinc-200 ..."><flux:button class="bg-zinc-800 hover:bg-zinc-700"><button type="button" class="bg-zinc-800 hover:bg-zinc-700 bg-white hover:bg-zinc-100..."><flux:button class="bg-zinc-800! hover:bg-zinc-700!"><div class="...">    <input type="text" class="..."></div><flux:input class="w-full" autofocus><div class="w-full ...">    <input type="text" class="..." autofocus></div><flux:button variant="primary" /><flux:input variant="filled" /><flux:modal variant="flyout" /><flux:badge variant="solid" /><flux:select variant="combobox" /><flux:separator variant="subtle" /><flux:tabs variant="segmented" /><flux:button icon="magnifying-glass" /><flux:input icon="magnifying-glass" /><flux:tab icon="cog-6-tooth" /><flux:badge icon="user" /><flux:breadcrumbs.item icon="home" /><flux:navlist.item icon="user" /><flux:navbar.item icon="user" /><flux:menu.item icon="plus" /><flux:button icon:trailing="chevron-down" /><flux:input icon:trailing="credit-card" /><flux:badge icon:trailing="x-mark" /><flux:navbar.item icon:trailing="chevron-down" /><flux:button size="sm" /><flux:select size="sm" /><flux:input size="sm" /><flux:tabs size="sm" /><flux:heading size="lg" /><flux:badge size="lg" /><flux:button kbd="⌘S" /><flux:tooltip kbd="D" /><flux:input kbd="⌘K" /><flux:menu.item kbd="⌘E" /><flux:command.item kbd="⌘N" /><flux:badge inset="top bottom"><flux:button variant="ghost" inset="left"><flux:button icon="bell" /><flux:button>   <flux:icon.bell /></flux:button><flux:button icon="bell" icon:variant="solid" /><flux:navbar.item :current="false"><flux:field>    <flux:label>Email</flux:label>    <flux:input wire:model="email" type="email" />    <flux:error name="email" /></flux:field><flux:input type="email" wire:model="email" label="Email" /><flux:tooltip content="Settings">    <flux:button icon="cog-6-tooth" /></flux:tooltip><flux:button icon="cog-6-tooth" tooltip="Settings" /><flux:input wire:model="email" /><flux:checkbox wire:model="terms" /><flux:switch wire:model.live="enabled" /><flux:textarea wire:model="content" /><flux:select wire:model="state" /><flux:checkbox.group wire:model="notifications"><flux:radio.group wire:model="payment"><flux:tabs wire:model="activeTab"><flux:button.group>    <flux:button /></flux:button.group><flux:input.group>    <flux:input /></flux:input.group><flux:checkbox.group>    <flux:checkbox /></flux:checkbox.group><flux:radio.group>    <flux:radio /></flux:radio.group><flux:accordion>    <flux:accordion.item /></flux:accordion><flux:menu>    <flux:menu.item /></flux:menu><flux:breadcrumbs>    <flux:breadcrumbs.item /></flux:breadcrumbs><flux:navbar>    <flux:navbar.item /></flux:navbar><flux:navlist>    <flux:navlist.item /></flux:navlist><flux:navmenu>    <flux:navmenu.item /></flux:navmenu><flux:command>    <flux:command.item /></flux:command><flux:autocomplete>    <flux:autocomplete.item /></flux:autocomplete><flux:field>    <flux:label></flux:label>    <flux:description></flux:description>    <flux:error></flux:error></flux:field><flux:tab.group>    <flux:tabs>        <flux:tab>    </flux:tabs>    <flux:tab.panel></flux:tab.group><flux:input icon:trailing="x-mark" /><flux:input>    <x-slot name="iconTrailing">        <flux:button icon="x-mark" size="sm" variant="subtle" wire:click="clear" />    </x-slot></flux:input><!-- Conditional attributes: --><input @if ($disabled) disabled @endif><flux:input :disabled="$disabled">