返回介绍

213.表单

发布于 2020-09-14 22:20:41 字数 7251 浏览 1338 评论 1 收藏 0

JS增强api围绕着that关键词

JS增强定义的方法内可使用 that关键字,该关键字指向当前页面的vue实例,那就意味着可以用that调用任何当前页面的实例方法/属性

表单API列表

功能描述语法参数
获取某下拉组件的下拉选项that.getSelectOptions(field)field:字段名称
设置某下拉组件的下拉选项that.changeOptions(field,options)field:字段名称<br>option:新设置的下拉选项 每一项由value和label组成
改变表单的值that.triggleChangeValues(param)param:表单值对象,格式{控件名:控件值}
进入表单页面立即触发change事件,需要在js增强中定义show方法, 给immediateEnhance赋值truethat.immediateEnhance = true当为true则,进入表单页若有change事件立即触发,否则不会,默认false
获取当前表单数据见下
获取某个字段的值见下
修改某个字段的值见下
发起ajax请求getAction,postAction,deleteAction方法参数参考src/api/manage.js
时间格式化that.simpleDateFormat(millisecond, format)millisecond:毫秒数,<br>format:yyyy-MM-dd hh:mm:ss 根据需求自定义格式
lodashthat.lodash.methodName具体使用什么工具方法参考lodash官方文档

表单事件方法

事件方法描述
show页面表单初始化时触发
loaded表单数据加载完成后触发

API代码

初始化表单方法

show(){
   console.log('form',that)
   //this.form.setFieldsValue({&quot;name&quot;:&quot;name值&quot;})  
  that.$nextTick(() =&gt; {
           //age是对应表的字段名
            that.form.setFieldsValue({&quot;age&quot;:&quot;age值&quot;})
          });
}

修改字段值

字段采用online表单配置的字段英文名

that.triggleChangeValue(&quot;字段&quot;,“值”)

获取全部表单数据

let formData = that.form.getFieldsValue()

获取表单字段值

let sex = that.form.getFieldValue(&quot;sex&quot;)

字段值变更触发方法

ruz_date 是字段名字,所有的字段触发方法都统一写在方法onlChange里。 > onlChange()方法必须与前一段代码有回车或者空格,否则会报错。

onlChange(){
   return {

     ruz_date(){
        let value = event.value
        //alert('触发控件',value)
        //根据入职日期,自动计算出入职年数
        if(value!=null &amp;&amp; value!=&quot;&quot;){
          let currDate = new Date(value.replace(/-/g, &quot;\/&quot;)); 
          let d = new Date(); 
          let ru_year_num = d.getFullYear()-currDate.getFullYear()    
          let values = {'ru_year_num':ru_year_num + 1}
          that.triggleChangeValues(values)
        }
      }

    }
 }

修改表单字段下拉属性

 that.changeOptions(field,options)

疑问:此方法能否涉及到 radio、select、搜索下拉等功能。

修改表下拉属性

示例

通过页面多个字段计算出某个字段的值

三级联动示例(ajax)

通过自定义button提交流程(侧重提交表单数据)

动态的控制字段组件的显示与隐藏

动态的控制字段组件是否禁用


//示例:调用simpleDateFormat格式化时间
show(){
    console.log(that.simpleDateFormat(new Date().getTime(),'yyyy年MM月dd日 hh时mm分ss秒'));
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

pei你看雪 2022-10-05 20:10:57

that.changeOptions(field,options)

子表的下拉选如果调用,直接用子表的字段好像不行

~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文