自定义页面使用的输入框组件A放在布局容器里,用/v1/form/searchFormDatas.json引用另一个底表的数据源,组件A用item.formData.*** 绑定绑定数据源底表ID,容器循环数据绑定state.getData.data。
在自定义页面,设置另一个输入框B,希望设置B的数据为A的2倍,在didMount中建立公式: const aaa= this.$(A组件ID).getValue(); this.$(B组件ID).setValue(aaa*2)
但是测试该表达式没有反应。 如果A组件不在容器中,不绑定数据源变量,该公式会有反应。因此是不是绑定数据源变量的组件采用这个模式搞函数关系是不是不行?那么绑定数据源变量的组件如何使用JS关系表达?
循环数据要求是数组结构,字符串数组、数字数组或者对象数组都可以。
静态循环数据 「循环数据」定义一个静态数组,在循环体里,可以通过 this.item 获取循环值,this.index 获取循环下标。当然,item / index 也可以通过编辑「循环参数」来自定义,比如 content / idx。
循环远程数据源, 创建一个远程数据源,将数据源绑定到循环变量上,需要定义远程数据源和将组件的循环数据绑定到该数据源上。
还可以实现内外两层嵌套循环,以此类推,其实 N 层(N < Infinity)也是支持的。 通常对于两个组件搭配到一起应用嵌套循环时,会在外层包裹一层容器组件,在容器组件上设置外层循环数据,在内部的组件(此例为文本组件)设置内层循环数据。
外层循环值用的是 this.item,而内层用的是 this.content,这是故意这样设置(通过编辑内层的「循环参数」),为了在内层也能拿到外层的值,否则两个都是 this.item,内层会将外层屏蔽。
在整个搭建页面中,this 其实是有层级的,当前作用域是 this,父级作用域是 this.$super,顶级作用域是 this.$top。
比如对表单容器做循环渲染,表单标识为 'fooForm',在 循环体 里使用 this.$('fooForm').getValue() 可以拿到当次循环表单的值,若要获取所有循环表单的值,需要通过 this.$super.$('fooForm').map(item => item.getValue())。
以上仅供参考。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。