laravel 8 x-components 在刀片中
laravel 8 x-components in blades
我无法理解 x-blades 在 laravel 中的工作方式。
例子
我创建了自定义 textarea
组件,但无法从 blade.
获取 rows
和 cols
的值
逻辑
如果 blade 提供 rows
& cols
如果不使用静态的就使用它。
代码
textarea.blade.php
@props(['disabled' => false, 'rows' => '4', 'cols' => '50'])
<textarea {{ $disabled ? 'disabled' : '' }} rows="{{ $rows ? $slot : $rows }}" cols="{{ $cols }}" {!! $attributes->merge(['class' => 'form-input rounded-md shadow-sm']) !!}></textarea>
myform.blade.php
<x-textarea class="block mt-1 w-full" name="address" rows="10" cols="3" />
测试结果
cols="{{ $cols }}"
从组件
返回静态值 50
rows="{{ $rows ? $slot : $rows }}"
返回 rows=""
有什么想法吗?
已解决
我是这样做的:
component
@props(['disabled' => false, 'rows'=>'4', 'cols'=>'50'])
<textarea {{ $disabled ? 'disabled' : '' }} rows="{{ $rows }}" cols="{{ $cols }}" {!! $attributes->merge(['class' => 'form-input rounded-md shadow-sm']) !!}></textarea>
blade
<x-textarea class="block mt-1 w-full" name="address" required :value="old('address')" >
<x-slot name="cols">3</x-slot>
<x-slot name="rows">10</x-slot>
</x-textarea>
现在,如果我删除 <x-slot name="cols">
和 <x-slot name="rows">
,它会使用组件中的静态值,否则它会使用我的刀片值。
我无法理解 x-blades 在 laravel 中的工作方式。
例子
我创建了自定义 textarea
组件,但无法从 blade.
rows
和 cols
的值
逻辑
如果 blade 提供 rows
& cols
如果不使用静态的就使用它。
代码
textarea.blade.php
@props(['disabled' => false, 'rows' => '4', 'cols' => '50'])
<textarea {{ $disabled ? 'disabled' : '' }} rows="{{ $rows ? $slot : $rows }}" cols="{{ $cols }}" {!! $attributes->merge(['class' => 'form-input rounded-md shadow-sm']) !!}></textarea>
myform.blade.php
<x-textarea class="block mt-1 w-full" name="address" rows="10" cols="3" />
测试结果
cols="{{ $cols }}"
从组件
50
rows="{{ $rows ? $slot : $rows }}"
返回 rows=""
有什么想法吗?
已解决
我是这样做的:
component
@props(['disabled' => false, 'rows'=>'4', 'cols'=>'50'])
<textarea {{ $disabled ? 'disabled' : '' }} rows="{{ $rows }}" cols="{{ $cols }}" {!! $attributes->merge(['class' => 'form-input rounded-md shadow-sm']) !!}></textarea>
blade
<x-textarea class="block mt-1 w-full" name="address" required :value="old('address')" >
<x-slot name="cols">3</x-slot>
<x-slot name="rows">10</x-slot>
</x-textarea>
现在,如果我删除 <x-slot name="cols">
和 <x-slot name="rows">
,它会使用组件中的静态值,否则它会使用我的刀片值。