Element: Dialog中Select、DatePicker等带有选择性的组件无法选中,但v-model值可获取

Created on 18 Jan 2017  ·  2Comments  ·  Source: ElemeFE/element

ElementUI version

1.1.5

OS/Browers version

macOS/Chrome 55

Vue version

2.1.6

补充描述

只在dialog中无法选中,但值是可以获取的,暂时只能先使用的原生HTML标签或者非dialog页面来解决。

代码如下:

<el-dialog :title="examTitle" v-loading="loading" element-loading-text="拼命加载中" v-model="markWorkDialog">
                  <div class="scroll">
                    <el-form :model="formMarkWork" :rules="rules" ref="formMarkWork" label-position="right" label-width="110px">
                        <el-row :gutter="10">
                          <el-col :xs="12" :sm="12" :md="12" :lg="12">
                            <el-form-item label="" prop="name">
                                <el-input placeholder="" v-model="formMarkWork.name"></el-input>
                            </el-form-item>
                          </el-col>
                        </el-row>
                        <el-row :gutter="10">
                          <el-col :xs="12" :sm="12" :md="12" :lg="12">
                            <el-form-item label="" prop="examId">
                                <el-select @change="update" :disabled="examDisabled" v-model="formMarkWork.examId" filterable placeholder="">
                                  <el-option v-for="item in examSelect" :label="item.label" :value="item.value">
                                  </el-option>
                                </el-select>
                                <!-- <select class="form-control" v-model="formMarkWork.examId">
                                  <option v-for="item in examSelect1" :value="item.value">
                                    {{item.label}}
                                  </option>
                                </select> -->
                            </el-form-item>
                          </el-col>
                        </el-row>
                        <el-row :gutter="10">
                          <el-col :xs="20" :sm="20" :md="20" :lg="20">
                            <el-form-item label="" prop="remark">
                                <el-input type="textarea" :rows="5" placeholder="" v-model="formMarkWork.remark"></el-input>
                            </el-form-item>
                          </el-col>
                        </el-row>
                        <el-row :gutter="10">
                          <el-col>
                            <el-form-item>
                              <el-button type="primary" @click="saveMarkWork">保存</el-button>
                              <el-button @click="closeMarkWork">取消</el-button>
                            </el-form-item>
                          </el-col>
                        </el-row>
                    </el-form>
                  </div>
                </el-dialog>

repro

Most helpful comment

多谢反馈,问题已解决,是打开dialog时,v-model对象初始化的问题,我采用form的初始化方式是
this.form = {},这种方式初始化打开dialog会无法预知对象结构导致无法选中。
http://jsfiddle.net/0g5a8yd2/1/

All 2 comments

无法复现:http://jsfiddle.net/0g5a8yd2/
请使用 jsfiddle 提供一个 demo。

多谢反馈,问题已解决,是打开dialog时,v-model对象初始化的问题,我采用form的初始化方式是
this.form = {},这种方式初始化打开dialog会无法预知对象结构导致无法选中。
http://jsfiddle.net/0g5a8yd2/1/

Was this page helpful?
0 / 5 - 0 ratings