Как добавить раздел в форму, если определенное поле равно чему-то? - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь добавить раздел в форму, только если определенное поле равно чему-то, в моем случае я создаю форму, чтобы создать вопрос, если тип ответа на этот вопрос выбран кратнымПараметры Я хочу, чтобы новый раздел мог создавать эти параметры, но только если выбран этот тип ответа.

Это моя текущая форма

<el-dialog
    :title="modalTitle"
    :loading="loading"
    :visible="dialogFormVisible"
    :visible.sync="dialogFormVisible">

    <el-form label-position="top" ref="form" :model="form" :rules="rules">
        <el-row>
            <el-form-item label="Question" prop="question">
                <el-input v-model="form.question"></el-input>
            </el-form-item>
        </el-row>

        <el-row>
            <el-col :span="12">
                <el-form-item label="Section" prop="survey_section_id">
                    <el-select v-model="form.survey_section_id" placeholder="Select">
                        <el-option
                            v-for="section in survey_section"
                            :key="section.id"
                            :label="section.title"
                            :value="section.id">
                        </el-option>
                    </el-select>
                </el-form-item>
            </el-col>
            <el-col :span="12">
                <el-form-item label="Response Type" prop="response_type_id">
                    <el-select v-model="form.response_type_id" placeholder="Select">
                        <el-option
                            v-for="type in response_type"
                            :key="type.id"
                            :label="type.type"
                            :value="type.id">
                        </el-option>
                    </el-select>
                </el-form-item>
            </el-col>
        </el-row>
        <el-row>
            <el-col :span="8">
                <el-form-item label="Optional" prop="optional">
                    <el-switch
                        v-model="form.optional"
                    ></el-switch>
                </el-form-item>
            </el-col>
        </el-row>
    </el-form>
    <span slot="footer">
        <el-button
            type="info"
            @click="cancel()">Cancelar
        </el-button>
        <el-button
            type="primary"
            :loading="loading"
            @click="submit('form')">Guardar
        </el-button>
    </span>
</el-dialog>

Когда el-select для типа ответа задано как несколько параметров, я бы хотел, чтобы в форме появился другой раздел, где эти параметры могут бытьсоздан и сохранен на вопрос.

Я пробовал подобные вещи и подобный код только для того, чтобы увидеть, появится ли он, но ничего не происходит.

<el-row>
    <div v-if="this.response_type_id === 2">
        <h1>hi</h1>
    </div>
</el-row>
<el-row>
    <div v-if="response_type_id === 2">
        <h1>hi</h1>
    </div>
</el-row>

Буду признателен за любую помощь, любой другой код, который у меня естьчто вы хотели бы видеть, просто спросите, и я отредактирую вопрос и добавлю его.

1 Ответ

1 голос
/ 08 октября 2019

Проблема заключается в том, что вы пытаетесь сослаться на свойство вашего form объекта напрямую с v-if="response_type_id === 2 Вместо этого вы должны использовать его следующим образом.

<el-row>
    <div v-if="form.response_type_id === 2">
        <h1>hi</h1>
    </div>
</el-row>
...