理解数据绑定 引言 概念:数据绑定做的事情就是建立字段<=>UI的关联关系,这是让UI活起来的必要手段。
需要做数据可视化、把表单输入提交到后端,都离不开数据绑定。
我发现输入型组件需要双向绑定数据,防止数据丢失
把数据源下的字段拖到画布上,就可以自动生成默认UI组件,并绑定数据字段:
选中拖出来的组件,从属性面板可以看到所绑定的对应字段id:
对于没有前端开发经验的人来说,能够通过无极2.0,把数据绑定到好看的UI上;
而之前更多是后台同学出接口,前端套UI绑定数据,双方形成上下游交互式的协作方式。
绑定方式 有几种好用的UI<=>数据的绑定方法:
1 通过属性面板绑定数据(双向绑定) 属性面板找到 value项,不同组件可能称呼不一样,是一个数据源控件,点击后会出现数据源选择器,会存在有些组件有多个可绑定的项:
2 拉线绑定(双向绑定) 在数据源里找任意一个字段, 鼠标Hover 上去能看到最右侧有个曲线图标,可以从该连线图片扯一条曲线出来,拉到画布你希望绑定的组件上,效果跟方法1的绑定一样,只是交互的差异。
3 插值表达式 有时候我们需要拼一段字符串,然后让组件给渲染这段文本,那就可以通过取值表达达到目的。
如下图,从左侧组件库拖一个只读文本组件,在 value 配置项上拼一段字符串,注意双花括号 { { } },我们称为插值表达式,也可以称为取值表达式,里面可以填任意的数据源字段id,也可以写Javascript的表达式,最终会输出一个字符串,取值会跟随着插值表达式里的取值实时变更。
如果说上述的绑定是双向绑定的话(UI输入 => 数据,数据 => UI),那么这种就只是单向的(数据 => UI)。
4 JS表达式(高级) 对于组件的大部分属性配置,可点击对应属性名右侧的齿轮按钮,开启/关闭JavaScript 表达式模式。
看到 JS表达式 输入框后,你就可用编写表达式了。在表达式里可直接读取、使用各种变量和 JavaScript、LessCode 方法。
和插值表达式不同,这里你无需加“双花括号”,直接写 变量名、JavaScript 表达式就行。
如何选择合适方式的小tips 在这里我也总结了一些小技巧,可以通过以下方式来决定,怎样适合地给组件绑定数据:
场景 | 对应解决方案 |
---|---|
输入框: 在展示数据时,还需要 接收用户输入的数据 | 属性面板中,使用双向绑定 |
展示: 展示指定变量的内容,甚至需要一些前缀,例如 你好,{{ userName }} | 属性面板中,使用{{ 插值 }}字符串或者JS表达式 |
按条件展示: 例如,在满足条件时,才显示某个提示语或者组件 | 行为配置中,使用 JS表达式 |