LianjiaTech / bruno

An enterprise-class package of Flutter components for mobile applications. ( Bruno 是基于一整套设计体系的 Flutter 组件库。)

Home Page:https://bruno.ke.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG]: BrnSelectionEntity defaultValue 导致 UI 不变化

sinkcup opened this issue · comments

commented

问题提交

1、BUG 描述

BrnSelectionEntity 设置了 defaultValue,UI 切换不变了,而实际数据变了。

2、复现步骤

  1. 复制代码:
BrnSelectionView(
  originalSelectionData: [
    BrnSelectionEntity(
        title: "排序方式",
        key: "sortOrder",
        type: "radio",
        defaultValue: "desc",
        children: [
          BrnSelectionEntity(
              key: "sortOrder",
              title: "从小到大",
              type: "radio",
              value: "asc",
              isSelected: _filterParams?['sortOrder'] == 'asc'),
          BrnSelectionEntity(
              key: "sortOrder",
              title: "从大到小",
              type: "radio",
              value: "desc",
              isSelected: _filterParams?['sortOrder'] == 'desc'),
        ]),
  1. 切换筛选项
  2. 移除 defaultValue,切换筛选项

3、期望行为

UI 切换正常变化

4、运行环境

  • 运行设备
  • 系统
  • Bruno 版本 3.4.3
  • Flutter Doctor 信息

5、附加信息

image
commented

HACK:

BrnSelectionEntity(title: "排序方式", key: "sortOrder", type: "radio", children: [
                                    BrnSelectionEntity(
                                        key: "sortOrder",
                                        title: "从小到大",
                                        type: "radio",
                                        value: "asc",
                                        isSelected: _filterParams?['sortOrder'] == 'asc'),
                                    BrnSelectionEntity(
                                        key: "sortOrder",
                                        title: "从大到小",
                                        type: "radio",
                                        value: "desc",
                                        isSelected: _filterParams?['sortOrder'] == 'desc' ||
                                            _filterParams?['sortOrder'] == null),
                                  ]),

你好,数据构造中无需设置 isSelected ,该字段为内部使用字段,如需获取选中项请在 onSelectionChanged 回调中获取

commented

原来如此!

好了:

                                  BrnSelectionEntity(title: "排序方式", key: "sortOrder", type: "radio",
                                      defaultValue: _filterParams?['sortOrder'] == 'asc' ? 'asc' : 'desc',
                                      children: [
                                    BrnSelectionEntity(
                                        key: "sortOrder",
                                        title: "从小到大",
                                        type: "radio",
                                        value: "asc"),
                                    BrnSelectionEntity(
                                        key: "sortOrder",
                                        title: "从大到小",
                                        type: "radio",
                                        value: "desc"),
                                  ]),