[BUG]: BrnSelectionEntity defaultValue 导致 UI 不变化
sinkcup opened this issue · comments
问题提交
1、BUG 描述
BrnSelectionEntity 设置了 defaultValue,UI 切换不变了,而实际数据变了。
2、复现步骤
- 复制代码:
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'),
]),
- 切换筛选项
- 移除 defaultValue,切换筛选项
3、期望行为
UI 切换正常变化
4、运行环境
- 运行设备
- 系统
- Bruno 版本 3.4.3
- Flutter Doctor 信息
5、附加信息
![image](https://private-user-images.githubusercontent.com/4971414/303904687-f1029a18-f4d2-4cd7-bbcc-1de9621fd047.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTY1NjE0OTksIm5iZiI6MTcxNjU2MTE5OSwicGF0aCI6Ii80OTcxNDE0LzMwMzkwNDY4Ny1mMTAyOWExOC1mNGQyLTRjZDctYmJjYy0xZGU5NjIxZmQwNDcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDUyNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA1MjRUMTQzMzE5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZDJlNDZmMDE4MjVkNTE3MDk3NWY5MjA0NjI4MjMyYWU0OTg4MWEzNTk1ZjJmYzgxOGIyZTA0Y2M2YmVmZWRjOCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.ZW-9C3UNp6vNK0RN72udLA4LbRQwxLyAN9m4VIyYz_w)
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 回调中获取
原来如此!
好了:
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"),
]),