带有if语句的Laravel匿名组件

pzfprimi  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(144)

因此,我希望创建以下简单的内容。我在匿名组件中有一个简单的输入字段,我使用以下代码:

<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"' : '' !!}

其次,但不太重要的是,修复会很好。

juud5qan

juud5qan1#

要修复代码以使用自动聚焦,可以使用@props(文档)
您可以检查匿名组件的以下代码:

@props(['autofocus'])

<input {{ $attributes->merge(['autofocus' => $autofocus]) }}/>

每当你这样称呼它的时候:

<x-input name="input" type="text" required="true" autofocus="true"></x-inpout>

它将自动对焦。

相关问题