如何通过点击其他widget动态变更widget数据源且无需跳转页面
需求实现方案及说明
结论
该需求完全可以实现,所有交互均可在当前页面完成,无需跳转至其他state。
具体实现步骤
- 第一步:创建当前页面的局部状态变量
在当前仪表盘页面的配置项中,新增一个字符串类型的自定义状态变量(例如命名为selectedReading),初始值设为默认展示的遥测读数的字段名。 - 第二步:给卡片绑定点击更新状态的动作
分别给三个卡片配置点击触发动作,动作类型选择「更新页面局部状态」,每次点击时将selectedReading的值修改为当前卡片对应的遥测读数字段名即可,该操作仅修改当前页的局部状态,不会触发页面跳转。 - 第三步:配置折线图的动态数据源
将折线图的遥测数据查询规则中的读数字段,配置为引用上述selectedReading状态变量作为动态入参。当状态变量发生变化时,折线图会自动触发数据重新拉取和视图刷新,展示效果和切换全局state的变更效果完全一致。
疑问说明
你所关注的「actions是否可以作用于readings」的问题不需要额外处理:该方案不需要直接对readings执行动作,仅通过状态变量动态控制数据源的查询参数即可实现需求,属于平台原生支持的标准交互逻辑,无需额外二次开发。
内容的提问来源于stack exchange,提问作者Ric
相关产品推荐
相关产品推荐

