Creating custom Column objects doesn't display all columns in table correctly

I’m having trouble creating custom column components. What I have working: I populate a Table’s data to a list of objects, which shows up correctly when I expand data. On the same button click but before I bind the Table’s data, I get a list of column names and have a simple for loop that creates an object and passes in a field value.

Here is the list of columns: ['flasksize1', 'ign_flasksize1', 'flasksize', 'ign_flasksize', 'flasksize3', 'ign_flasksize3', 'flasksize2', 'ign_flasksize2', 'workcenter', 'ign_workcenter', 'active', 'ign_active', 'description', 'ign_description', 'tool', 'ign_tool', 'copedrag', 'ign_copedrag', 'location', 'ign_location', 'totalshots', 'ign_totalshots', 'customer', 'ign_customer'].

I can verify that the columns bind correctly by opening up the column objects inside the table.

However, when I look at the table itself, all the columns with the ign_ prefix don’t show up.

Here is the button’s onClick event:

    cols = []
	for col in ls[1]:          # ls[1] is a list of columns passed from global fn
			  "field": col,
			  "visible": true,
			  "editable": false,
			  "render": "auto",
			  "justify": "auto",
			  "align": "center",
			  "resizable": true,
			         . . . 
			  "style": {
				"classes": ""
    # assign column objects to Table column
	self.getSibling("Table").props.columns = cols
	# assign data after making columns
	self.getSibling("Table") = ls[0]

What could be the issue here?