Как отобразить значение кнопки радиона при обновлении записи - PullRequest
0 голосов
/ 23 апреля 2020

При обновлении записи в node js я могу отобразить значение для полей ввода текста, но в форме обновления значение переключателя и текстовой области не поступает. Может кто-нибудь, пожалуйста, дайте мне знать, как это реализовать. Я использую шаблон hbs.

<div class="form-group row">
    <label for="inputPassword3" class="col-sm-5 col-form-label" style="color: #2874a6 ;">Owner Name</label>
    <div class="col-sm-6">
        <input type="email" class="form-control" name="owner" value={{product.owner}}>
    </div>
</div>
<div class="form-group row">
    <label for="inputPassword3" class="col-sm-5 col-form-label" style="color: #2874a6 ;">Description</label>
    <div class="col-sm-6">
        <textarea class="form-control" name="description" rows="2" value={{product.description}}></textarea>
    </div>
</div>

<div class="form-group row">
    <label for="inputPassword3" class="col-sm-5 col-form-label" style="color: #2874a6 ;">Summary column format</label>
    <div class="col-sm-6">
        <div class="radio-inline">
            <input class="form-check-input" type="radio" name="taskDone" value="Yes" onClick="changeresult();">if({{product.team}}=="Yes"){ %> checked
            <%} %>> Yes </input>

        </div>
        <div class="radio-inline">
            <input class="form-check-input" type="radio" name="taskDone" value="No" onClick="changeresult();">if({{product.taskDone}}=="Yes"){ %> checked
            <%} %>> Yes </input>

        </div>
    </div>
</div>

Значение для поля textarea и радиокнопки не приходит. Заранее спасибо за помощь

1 Ответ

0 голосов
/ 24 апреля 2020

Я не работаю с handlebars регулярно, поэтому вам может потребоваться провести дополнительное исследование.

Похоже, что {{if}} не поддерживает сравнения, только существование и логические значения . Итак, у вас есть пара опций, основанных на небольшом исследовании:

Опция 1: логические значения
Вы можете предоставить значения для шаблона в виде логических значений. Поэтому вместо «Да», «Нет» попросите промежуточное программное обеспечение (или, что еще лучше, обновите схему базы данных и сохраните их соответствующим образом), укажите их как true, false. Тогда вы можете использовать:

{{#if product.team}} checked {{/if}}

Вариант 2: Зарегистрировать помощника

Зарегистрировать помощника в коде javascript:

Handlebars.registerHelper('ifEquals', function(arg1, arg2, options) {
    return (arg1 == arg2) ? options.fn(this) : options.inverse(this);
});

Использование в шаблоне:

{{#ifEquals product.team "Yes"}} checked {{/ifEquals}}

Вы можете читать больше по этому вопросу

...