前端踩坑(一)(vue)使用select (el-select)遇到的 TypeError: Cannot read property 'indexOf' of undefined

我遇到此次问题的解决方法:初始化对象的时候赋值为[],或者不要进行对象初始化

el-select 代码如下

            <el-select v-model="warnInfo.warnMethods"
                       multiple
                       clearable
                       collapse-tags
                       size="small"
                       style="width:100%"
                       placeholder="请选择预警方法">
              <el-option v-for="item in this.selection.warnMethods"
                         :key="item.typecode"
                         :label="item.typename"
                         :value="item.typecode">el-option>
            el-select>

初始化使用的默认对象如下

      defaultWarnInfo: {
        warnName: null,
        moduleCode: null,
        moduleName: null,
        warnMethods: null,
        warnFinishFlag: '0',
        warnStartDateTime: null,
        warnEndDateTime: null,
        receiverIds: null,
        deleteFlag: '0'
      },

会出现这个问题是由于,v-model=“warnInfo.warnMethods” 绑定的warnMethods 默认值为null。
若给warnMethods 设置默认值为 [],或是不在defaultWarnInfo中设置warnMethods默认值均可解决问题

不设置默认值的意思如下所示

      defaultWarnInfo: {
        warnName: null,
        moduleCode: null,
        moduleName: null,
        //直接去掉warnMethods
        //warnMethods: null,
        warnFinishFlag: '0',
        warnStartDateTime: null,
        warnEndDateTime: null,
        receiverIds: null,
        deleteFlag: '0'
      },

你可能感兴趣的:(踩坑排错,vue)