Dash datatable keeps getting created

I have an app callback where the function includes the following:

return html.Div([
html.Div(id=‘cusip_charac_table’),
dash_table.DataTable(
id = ‘cusip-characteristics’,
columns = [{“name”:i, “id”:i} for i in des_table.columns],
data = des_table.to_dict(“rows”),
style_header={
‘backgroundColor’: ‘White’,
‘fontWeight’: ‘bold’
},
style_table={‘maxwidth’: ‘10’},
style_cell={‘width’:‘10’},
sorting_type=‘multi’,
selected_rows=[])
],
style={‘width’:‘80%’, ‘display’:‘inline-block’, ‘margin-bottom’: ‘1.0em’})

My div keeps getting refreshed with a new table as the if statement I’m using keeps returning true.
Basically I have a user that will enter a code for an item in an inputbox and then the table will populate with the characteristics. My if statement works with the length of the product code, so if len(x) = 9 then update.
I need something that will make the return function to stop once the table has been generated after the entry and to not keep getting created. Something like if the input box is populated once then return the table and stop.

I hope I did understand the question. If not please also add the callback, such that we can see the if-statement itself.

It seems like you need to add a button, such that not on every change within your input-box the table is re-generated. Which is explained in this example: https://dash.plot.ly/dash-core-components/button