import dash import time import uuid from dash import dcc from dash.dependencies import Input, Output, State, ALL from dash.exceptions import PreventUpdate import feffery_utils_components as fuc from server import app from utils.common import validate_data_not_empty #from api.ndstand import get_nfddict_data_list_api from api.fddict import get_fddict_list_api # 添加一个回调函数来监听按钮点击事件 @app.callback( Output('nfddict_data-list-table', 'data'), # 替换为你的输出组件 Input('ndstand-list-table','nClicksButton'), State('ndstand-list-table', 'clickedContent'), # 替换为你的表格组件ID prevent_initial_call=True ) def nfddict_data_renter_info(nClicksButton, clickedContent): # print(555,clickedContent,nClicksButton,7777) table_data=[] if nClicksButton: query_params = dict( fddict_col_no=clickedContent, page_num=1, page_size=10 ) table_info = get_fddict_list_api(query_params) table_data = table_info['data']['rows'] return table_data raise PreventUpdate # @app.callback( # output=dict( # nfddict_data_table_data=Output('nfddict_data-list-table', 'data', allow_duplicate=True), # nfddict_data_table_pagination=Output('nfddict_data-list-table', 'pagination', allow_duplicate=True), # nfddict_data_table_key=Output('nfddict_data-list-table', 'key'), # nfddict_data_table_selectedrowkeys=Output('nfddict_data-list-table', 'selectedRowKeys'), # api_check_token_trigger=Output('api-check-token', 'data', allow_duplicate=True) # ), # inputs=dict( # search_click=Input('nfddict_data-search', 'nClicks'), # pagination=Input('nfddict_data-list-table', 'pagination') # ), # state=dict( # fddict_col_no=State('nfddict_data-fddict_col_no-input', 'value'), # fddict_col_cn=State('nfddict_data-fddict_col_cn-input', 'value'), # button_perms=State('nfddict_data-button-perms-container', 'data') # ), # prevent_initial_call=True # ) # def get_nfddict_data_table_data(search_click, pagination, fddict_col_no, fddict_col_cn, button_perms): # """ # 获取字典数据表格数据回调(进行表格相关增删查改操作后均会触发此回调) # """ # query_params = dict( # fddict_col_no=fddict_col_no, # fddict_col_cn=fddict_col_cn, # page_num=1, # page_size=10 # ) # triggered_id = dash.ctx.triggered_id # if triggered_id == 'nfddict_data-list-table': # query_params = dict( # fddict_col_no=fddict_col_no, # fddict_col_cn=fddict_col_cn, # page_num=pagination['current'], # page_size=pagination['pageSize'] # ) # if search_click or pagination : # table_info = get_nfddict_data_list_api(query_params) # if table_info['code'] == 200: # table_data = table_info['data']['rows'] # table_pagination = dict( # pageSize=table_info['data']['page_size'], # current=table_info['data']['page_num'], # showSizeChanger=True, # pageSizeOptions=[10, 30, 50, 100], # showQuickJumper=True, # total=table_info['data']['total'] # ) # for item in table_data: # item['key'] = str(item['fddict_col_no']) # return dict( # nfddict_data_table_data=table_data, # nfddict_data_table_pagination=table_pagination, # nfddict_data_table_key=str(uuid.uuid4()), # nfddict_data_table_selectedrowkeys=None, # api_check_token_trigger={'timestamp': time.time()} # ) # return dict( # nfddict_data_table_data=dash.no_update, # nfddict_data_table_pagination=dash.no_update, # nfddict_data_table_key=dash.no_update, # nfddict_data_table_selectedrowkeys=dash.no_update, # api_check_token_trigger={'timestamp': time.time()} # ) # raise PreventUpdate # # 重置代码表数据搜索表单数据回调 # app.clientside_callback( # ''' # (reset_click) => { # if (reset_click) { # return [null, null, {'type': 'reset'}] # } # return window.dash_clientside.no_update; # } # ''', # [Output('nfddict_data-fddict_col_cn-input', 'value'), # Output('nfddict_data-fddict_col_no-input', 'value')], # Input('nfddict_data-reset', 'nClicks'), # prevent_initial_call=True # )