Definir atributos booleanos sem valor com a função de tag
Aug 20 2020
Ao usar a função de tag , como lidar com atributos sem valor que também podem ser nulos?
Por exemplo, é ótimo podermos fazer ...
{% set idVar = 'idstring' %}
{% set nameVar = 'namestring' %}
{% set typeVar = 'typestring' %}
{{ tag('input', {
id: idVar,
name: nameVar,
type: typeVar
}) }}
…para gerar:
<input id="idstring" name="namestring" type="typestring">
Mas e se o requiredatributo também for uma variável? Não podemos fazer:
{% set reqVar = '' %}
{% if field is required %}
{% set reqVar = 'required' %}
{% endif %}
{{ tag('input', {
id: idVar,
name: nameVar,
required: reqVar
}) }}
… Porque se reqVarestiver vazio, seria desejável que o requiredatributo não fosse escrito. Para gerar:
<input id="idstring" name="namestring" type="typestring">
… E não :
<input id="idstring" name="namestring" type="typestring" required>
A mesma coisa se aplica a outros atributos booleanos como hidden.
Existe uma maneira de fazer isso com esta função? O que estou perdendo ou não recebendo?
Respostas
4 BrandonKelly Aug 20 2020 at 00:59
Se um atributo for definido como true, ele será adicionado sem um valor.
{{ tag('input', {
id: idVar,
name: nameVar,
required: true
}) }}
Além disso, se for definido como nullou false, será omitido, como se nunca tivesse sido listado em primeiro lugar.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?