提问人:Hardist 提问时间:11/9/2022 更新时间:11/9/2022 访问量:98
带有 if 语句的 Laravel 匿名组件
Laravel anonymous component with an if statement
问:
所以我想创造以下简单的东西。我在匿名组件中有一个简单的输入字段,我正在使用以下代码:
<x-form.input.text :error="$errors->first('name')"
field="name"
required="required" {!! isset($something) ? 'autofocus="autofocus"' : '' !!}/>
如果存在,则应添加。如果没有,则不应添加任何内容。$something
autofocus="autofocus"
但是当使用上面的代码时,我的整个输入都消失了。在我的源代码中,我看到的不是输入字段,而是刀片代码,如下所示:
<x-form.input.text :error="$errors->first('name')"
field="name"
required="required" autofocus="autofocus"/>
当然,它应该是:
<input name="name" type="text" value="test" required="required" autofocus="autofocus">
我的主要问题是,我想了解为什么会发生这种情况,我不能在匿名组件中使用这段代码:
{!! isset($something) ? 'autofocus="autofocus"' : '' !!}
其次但不太重要的是,修复会很好。
答:
1赞
rachids
11/9/2022
#1
为了修复您的代码以使用自动对焦,您可以使用(文档)@props
您可以查看匿名组件的以下代码:
@props(['autofocus'])
<input {{ $attributes->merge(['autofocus' => $autofocus]) }}/>
每当你这样称呼它时:
<x-input name="input" type="text" required="true" autofocus="true"></x-inpout>
它将自动对焦。
评论
0赞
Hardist
11/9/2022
谢谢,我知道这一点,问题是我想根据条件自动对焦输入,而不是简单地陈述或。autofocus="true"
false
1赞
rachids
11/9/2022
只需在调用组件时传递条件即可
1赞
Hardist
11/9/2022
啊等等,我现在明白你的意思了,我会玩这个,我现在实际上认为这确实会奏效,谢谢!
评论