Menyetel atribut boolean yang tidak berharga dengan fungsi tag

Aug 20 2020

Saat menggunakan fungsi tag , bagaimana cara menangani atribut tidak berharga yang juga bisa bernilai null?

Misalnya, sangat bagus kita bisa melakukan ...

{% set idVar   = 'idstring' %}
{% set nameVar = 'namestring' %}
{% set typeVar = 'typestring' %}

{{ tag('input', {
    id: idVar,
    name: nameVar,
    type: typeVar
}) }}

…untuk menghasilkan:

<input id="idstring" name="namestring" type="typestring">

Tetapi bagaimana jika requiredatribut juga merupakan variabel? Kami tidak dapat melakukan:

{% set reqVar  = '' %}

{% if field is required %}
    {% set reqVar = 'required' %}
{% endif %}

{{ tag('input', {
    id: idVar,
    name: nameVar,
    required: reqVar
}) }}

… Karena jika reqVarkosong, seseorang ingin requiredatribut tidak ditulis sama sekali. Untuk menghasilkan:

<input id="idstring" name="namestring" type="typestring">

… Dan bukan :

<input id="idstring" name="namestring" type="typestring" required>

Hal yang sama berlaku untuk atribut boolean lainnya seperti hidden.

Apakah ada cara untuk melakukan ini dengan fungsi ini? Apa yang saya lewatkan atau tidak dapatkan?

Jawaban

4 BrandonKelly Aug 20 2020 at 00:59

Jika atribut disetel ke true, itu akan ditambahkan tanpa nilai.

{{ tag('input', {
    id: idVar,
    name: nameVar,
    required: true
}) }}

Selain itu, jika disetel ke nullatau false, ini akan dihilangkan, seolah-olah tidak pernah terdaftar di tempat pertama.