vue ant design中关于给select设置初始默认值的问题(initialValue无效、用defaultValue则报`defaultValue` is invalid错误)(已解决)

2019-12-28 20:05:19

参考地址 vue ant design中关于给select设置初始默认值的问题(initialValue无效、用defaultValue则报`defaultValue` is invalid错误)

问题:当我们在用vue ant design给select设置默认值时,如果采用v-decorator的方式去注册控件,且要对表单内容进行校验,那么这个时候无论是如下边错误1一样使用defaultValue=“2”这样来设置默认值,还是如同错误2一样使用initialValue: 2来进行设置,还是如同错误3一样使用:value="2"这样设置了值却无法注册typeId,都会设置无效或者报错等等,这个时候,如果采用setFieldsValue来对其进行赋值,就可以完好的解决该问题了。


错误代码1:


<a-select placeholder="请选择" class="default-input" v-decorator="['typeId', {rules: [{ required: true, message: '请选择' }]}]" defaultValue="2">

  <a-select-option key="1" value="1">1</a-select-option>

  <a-select-option key="2" value="2">2</a-select-option>

</a-select>

1

2

3

4

错误代码2:


<a-select showSearch placeholder="请选择" class="default-input" v-decorator="['typeId', {rules: [{ required: true, message: '请选择' }]}, { initialValue: 2 }]">

  <a-select-option key="1" value="1">1</a-select-option>

  <a-select-option key="2" value="2">2</a-select-option>

</a-select>

1

2

3

4

错误代码3:


<a-select placeholder="请选择" class="default-input"  :value="2">

  <a-select-option key="1" value="1">1</a-select-option>

   <a-select-option key="2" value="2">2</a-select-option>

 </a-select>

1

2

3

4

正确方案:

html部分


<a-select placeholder="请选择" class="default-input" v-decorator="['typeId', {rules: [{ required: true, message: '请选择' }]}]">

   <a-select-option key="1" value="1">1</a-select-option>

   <a-select-option key="2" value="2">2</a-select-option>

 </a-select>

1

2

3

4

script部分


data () {

   return {

     form: this.$form.createForm(this)

    }

},

mounted(){

  this.form.setFieldsValue({

      "typeId": "2",

  })

}

1

2

3

4

5

6

7

8

9

10

这样一来,既可以注册控件,有能直白的直接在空间里边写入校验,还能对其进行初始赋值。

  • 2018-01-17 15:58:16

    java实现定时任务的三种方法

    在进行多线程编程中,比较重要也是比较困难的一个操作就是如何获取线程中的信息。大多数人会采取比较常见的一种方法就是将线程中要返回的结果存储在一个字段中,然后再提供一个获取方法将这个字段的内容返回给该方法的调用者。如以下的ReturnThreadInfo类:

  • 2018-01-18 11:26:53

    浅谈js运行机制(线程)

    从开始接触js时,我们便知道js是单线程的。单线程,异步,同步,互调,阻塞等。在实际写js的时候,我们都会用到ajax,不管是原生的实现,还是借助jQuery等工具库实现,我们都知道,ajax可以实现局部刷新,并且在请求处理时,任然可以响应用户的操作,比如点击事件。不是说js是单线程吗?这些都是怎么实现的? 在阅读《深入理解Bootrap的源码》一书,在分析轮播组件(carousel.js)的源码时,作者对一句代码操作的注释引起了我的兴趣。

  • 2018-01-18 17:41:05

    Fatal error: Class 'Memcached' not found

    从别地方复制来了新的配置文件,包了这样的错误,因为我也是刚刚安装了php7,以为是php的问题,于是就根据网上的提示,安装memcached.dll包。