php - laravel 8 x 刀片中的组件
问题描述
我无法弄清楚 x-blades 在 laravel 中的工作方式。
例子
我已经创建了自定义textarea
组件,但我无法从刀片中rows
获取值。cols
逻辑
如果刀片提供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">
使用组件中的静态值,否则它使用我的刀片值。
推荐阅读
- javascript - Internet Explorer 的有线问题,请检查屏幕
- asp.net-core - 无法运行使用数据库的已发布网站
- php - php干预图像处理中字体颜色不变
- python - 如何将结构日志添加到我的 Python 库?
- c# - 在 web.config 文件中使用授权时被重定向回登录屏幕
- google-cloud-platform - 我可以在 Google Analytics 数据导出完成时设置通知吗?
- csv - 按列名解析 Athena 中的 CSV
- ionic-framework - 有没有一种方法可以让我在运行时在 ionic 3 中将外部 HTML 页面作为组件嵌入
- ios - TypeError:无法读取未定义离子的属性“名称”
- c# - 解释行为三元运算符和默认值