我在 laravel 中有以下刀片组件。我正在使用顺风。位于views/components/indigo-button-sm.blade.php
<button {{ $attributes->merge(['type' => 'button', 'class' => 'inline-flex justify-center py-1 px-1 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500']) }}>
{{ $slot }}
</button>
Run Code Online (Sandbox Code Playgroud)
我希望能够即时更改组件。也就是说,我使用上面的组件来显示“保存”按钮。但随后我想显示一个按钮,上面写着“确认”您的输入,并稍微更改按钮的外观,以在视觉上暗示这是一个不同的选择。
具体来说,我有一个自动完成功能,用户正在输入一个我提供超过 2,000 个选择(学校)的项目。但是,如果用户输入的学校不在我的数据库表列表中,我希望他们确认他们输入的学校正确,所以我想显示“确认”您的输入按钮,只是为了确保。如果他们选择的学校已经在列表中,我不会要求他们确认输入。
所以,我想更改保存按钮
bg-indigo-600 hover:bg-indigo-700
Run Code Online (Sandbox Code Playgroud)
确认按钮的配色方案略有不同。
bg-indigo-800 hover:bg-indigo-900
Run Code Online (Sandbox Code Playgroud)
或者
<x-indigo-button-sm x-show="showsaveschool" wire:click="saveSchoolInfo">Save</x-indigo-button-sm>
<x-indigo-button-sm x-show="showconfirmschool" wire:click="confirmSaveSchoolInfo">Confirm</x-indigo-button-sm>
Run Code Online (Sandbox Code Playgroud)
因此他们输入学校,但该学校不在查找列表中。他们单击“保存”按钮。保存按钮消失,确认按钮显示,确认按钮下方会显示一段文本。
当我输入此内容时,我开始认为创建一个“确认”按钮并始终使用它会更好。
反正。我认为 $attributes(merge['']) 允许您更改属性,但我认为它只允许您添加属性。因此,如果您有一个边距类,在组件中说“my-0”,它似乎不允许新的类似类,例如“my-5”
我们将不胜感激您的评论。
在 php 类函数中包含返回类型声明有什么好处吗?这是否更好:
public function team_classes(): \Illuminate\Database\Eloquent\Relations\HasMany
{
return $this->hasMany(TeamClass::class, 'activity_id', 'id');
}
Run Code Online (Sandbox Code Playgroud)
上面的比下面的更好吗?
public function team_classes()
{
return $this->hasMany(TeamClass::class, 'activity_id', 'id');
}
Run Code Online (Sandbox Code Playgroud)
如果是这样,它只是为了程序员的眼睛还是会提高效率/速度?