当前位置:   article > 正文

Ant Design框架 form表单 数据绑定,赋值 / 获取 数据

Ant Design框架 form表单 数据绑定,赋值 / 获取 数据

前言:AntD框架官网表单不是用:v-model进行数据绑定而是用:v-decorator="['name']"

【赋值】创建好所需要的form表单,绑定好key值:例:(v-decorator="['name']")

  1. // 需要的form表单
  2. <a-form :form="form">
  3. <a-form-item label="名称:">
  4. <a-input placeholder="请输入名称" v-decorator="['name']"></a-input>
  5. </a-form-item>
  6. <a-form-item label="文本:">
  7. <a-input placeholder="请输入名称" v-decorator="['text']"></a-input>
  8. </a-form-item>
  9. </a-form>

【赋值】在data里面定义form,注:(必须)

  1. // data里面要定义 form(必须)
  2. data() {
  3. return {
  4. form: this.$form.createForm(this),
  5. }
  6. }

【赋值】在methods方法里写

方式一:对象赋值(普遍用于少量数据赋值)

  1. // 自定义数据
  2. let data = {
  3. a:'数据1',
  4. b:'数据2'
  5. }
  6. // 通过this.form.setFieldsValu进行表单赋值
  7. // 数据绑定 跟v-model效果一样
  8. this.form.setFieldsValue({
  9. text: data.a,
  10. name: data.b,
  11. })
  12. // text: '数据1', name: '数据2'
  13. // text name 是上面在表单中绑定好的key名
  14. v-decorator="['text']"
  15. v-decorator="['name']"

方式二:需要导入 lodash 的 pick 函数:import pick from 'lodash.pick'

data数据定义字段名,跟表单字段名一致

赋值方式跟ES6解构赋值相似

  1. //导入 pick import pick from 'lodash.pick'
  2. let data = { name: '数据1', text: '数据2', age: '数据3' }
  3. this.$nextTick(() => {
  4. this.form.setFieldsValue(pick(data, 'name', 'text', 'age'))
  5. })
  6. // name: '数据1'
  7. // text: '数据2'
  8. // age: '数据3'
  9. // 表单框内会出现对应赋值的数据

【获取】获取整个form表单的当前值,可以是输入的,也可以是赋值的

  1. // 获取表单所有数据 value
  2. this.form.validateFields((err, value) => {
  3. if (!err) { // 这个err是判断表单必填项的,如果不加,必填项失效
  4. console.log(value);
  5. }
  6. })
  7. // 获取全部表单内存在的数据(输入的||赋值的)
  8. // text: '数据1'
  9. // name: '数据2'

【获取】获取form表单 单个数据的值

  1. let a = this.form.getFieldValue('text')
  2. console.log(a);
  3. // '数据1'
  4. let b = this.form.getFieldValue('name')
  5. console.log(b);
  6. // '数据2'

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号