当前位置:   article > 正文

Vue版Ant Design给a-form表单-赋值及获取表单数据-案例_ant design vue 怎么获取form的值

ant design vue 怎么获取form的值

v-decorator

form表单内的文本输入框,使用了v-decorate进行数据绑定

说明:

v-decorate的用法,类似于v-model,但是v-decorator可以更方便的添加校验,必填项等;v-model可以更方便地获取值以及设置值,这个是二者在开发时最明显的区别

  1. <a-form :form="form">
  2. <a-form-item label="名称:">
  3. <a-input placeholder="请输入名称" v-decorator="['name', { rules: [{ required: true, message: '请输入名称!' }] }]"></a-input>
  4. </a-form-item>
  5. </a-form>

使用的template语法,form必须在data内定义

  1. data() {
  2. return {
  3. form: this.$form.createForm(this),
  4. }
  5. }

form设置值

表单设置值前添加:this.form.resetFields();

设置值的方式是:this.form.setFieldsValue();

设置值

  1. this.form.setFieldsValue({
  2. name: this.data.name,
  3. age: this.data.age
  4. })

这种方法适合参数少的情况

需要先在data内定义  model: {} 对象,后面使用model设置,而且需要导入lodash的pick函数

  1. this.form.resetFields();
  2. this.model = Object.assign({}, this.record);
  3. this.$nextTick(() => {
  4. this.form.setFieldsValue(pick(this.model, 'nft_id', 'name', 'havenum', 'circulation'))
  5. });

是将值统一放在 model这个对象内,然后将你需要设置进去的值,通过pick从this.model内选择得到,最后通过this.form.setFieldsValue(); 设置进去即可

form获取值

  1. this.form.validateFields((err, values) => {
  2. if (!err) {
  3. console.log('Received values of form: ', values);
  4. // do something
  5. }
  6. })

pick方法 

form表单里如果有没有用到的变量,就会报警告,通过下面方法过滤掉没有用到的key value

  1. let pick = function (obj, ...form) {
  2. let model = Object.assign({}, obj)
  3. let newObj = {}
  4. form.forEach((item) => {
  5. newObj[item] = model[item]
  6. })
  7. return newObj
  8. }

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