zoukankan      html  css  js  c++  java
  • ant design获取表单中适用v-decorator修饰表单中的值

    vue文件

    <a-form>
        <a-form-item :labelCol="labelCol"
                             :wrapperCol="wrapperCol"
                     label="适用阶段"
                     hasFeedback>
          <a-select v-decorator="['mealCategory', {}]"
                    @blur="getMealCategory"
                    :disabled="isDisabled"
                    placeholder="请选择适用阶段">
            <a-select-option value="小学">小学</a-select-option>
            <a-select-option value="初中">初中</a-select-option>
            <a-select-option value="高中">高中</a-select-option>
          </a-select>
        </a-form-item>
    </a-form>    
    

    获取动作

    methods: {
        getMealCategory () {
          this.mealCategory = this.form.getFieldValue('mealCategory');
          console.log(`调用getMealCategory()--${this.mealCategory}`)
          //将获取的学校类别传递给学校组件
          this.$refs.activityMealSchoolTable.addGradeAndSchool(this.mealCategory);
        }
    }
    

    详解:

    this.form.getFieldDecorator(id, options) 和 v-decorator="[id, options]" #
    经过 getFieldDecorator或v-decorator 包装的控件,表单控件会自动添加 value(或 valuePropName 指定的其他属性) onChange(或 trigger 指定的其他属性),数据同步将被 Form 接管,这会导致以下结果:
    
    你不再需要也不应该用 onChange 来做同步,但还是可以继续监听 onChange 等事件。
    你不能用控件的 value defaultValue 等属性来设置表单域的值,默认值可以用 getFieldDecorator 或 v-decorator 里的 initialValue。
    你不应该用 v-model,可以使用 this.form.setFieldsValue 来动态改变表单值。
    
    注意:使用 getFieldsValue getFieldValue setFieldsValue 等时,应确保对应的 field 已经用 getFieldDecorator 或 v-decorator 注册过了。
    
    
    为什么blur事件获取改变的值
        适用change时间获取时具有延后性,暂时适用blur
    

    站在巨人的肩膀上摘苹果:

    https://blog.csdn.net/weixin_44051815/article/details/88305722

    https://www.wandouip.com/t5i363134/

  • 相关阅读:
    Git引用
    如何查看Git对象
    Git是如何存储对象的
    图形化的Git
    git中找回丢失的对象
    Git的Patch功能
    ES查看配置和查看全部配置
    增删改查
    Elasticsearch增、删、改、查操作深入详解
    ES博客链接
  • 原文地址:https://www.cnblogs.com/eternityz/p/12271901.html
Copyright © 2011-2022 走看看