title: Dash pattern matching callbacks: MATCH in Input but not in Output
body: <p>I want to use Dash pattern matching callbacks' <code>MATCH</code> as an <code>Input</code>, without needing to <code>Output</code> to the same <code>MATCH</code>. Imagine I generate a long, random list of items, from which a user may select any number of items. As they select each item, I want to append that item to a list in real time. It's a long list of 1,000+ items, so I don't want to see the whole <code>ALL</code> list, just the one they've selected in real time, so I can do a fast, efficient callback.</p>
  <p>Something like the following:</p>
  <pre class="lang-py prettyprint-override"><code>from dash import Dash, dcc, html, Input, Output, State, MATCH, ALL
  import dash_bootstrap_components as dbc
  
  app = Dash(__name__, suppress_callback_exceptions=True)
  
  # HTML table header and rows
  header = html.Thead(html.Tr([html.Th(&quot;Add Part&quot;), html.Th(&quot;Description&quot;)]))
  rows = html.Tbody(
      [
          html.Tr(
              [
                  html.Td(
                      dbc.Button(
                          &quot;Add&quot;,
                          id={&quot;type&quot;: &quot;part_add&quot;, &quot;index&quot;: i},
                          n_clicks=0,
                      ),
                  ),
                  html.Td(f&quot;Index {i}&quot;),
              ]
          )
          for i in range(1000)
      ]
  )
  
  app.layout = html.Div([
      dcc.Store(id=&quot;my_list&quot;, storage_type=&quot;local&quot;, data=[]),
      dbc.Table(
          [header, rows],
          bordered=True,
          striped=True,
      )
  ])
  
  
  @app.callback(
      Output(&quot;my_list&quot;, &quot;data&quot;),
      Input({&quot;type&quot;: &quot;part_add&quot;, &quot;index&quot;: MATCH}, &quot;id&quot;),
      State(&quot;my_list&quot;, &quot;data&quot;),
  )
  def match_callback_test(
      part_add_id,
      my_list_data 
  ):
      return my_list_data.append(part_add_id)
  </code></pre>
  <p>Is the above possible, with a different pattern? I get a JavaScript console error if I run the above.</p>