我有一个散景UI与一个选择,一个数据表和一个按钮。
- Select允许直接转到DataTable 中的给定行
- 按钮允许转到数据表 的下一行
- DataTable允许直接单行选择(因此更新Select)。
DataTable通过:
self.__table_data.on_change('selected',self.table_selection_change)
当按钮被单击时,我用一个新的字典结构改变DataTable源的选定属性,如下所示:
self.__table_data.selected = {'2d': {'indices': []}, '1d': {'indices': [my_new_index]}, '0d': {'indices': [], 'glyph': None}}
问题是,当我做这个更新,我的回调(table_selection_change)被调用两次,而我期望只有一个调用。
问题是整个字典不应该更新。只有相关的键才需要更新
替换self.__table_data.selected = {'2d': {'indices': []}, '1d': {'indices': [my_new_index]}, '0d': {'indices': [], 'glyph': None}}
self.__table_data.selected['1d'] = {'indices':[my_new_index]}
解决问题