24 lines
592 B
JavaScript
24 lines
592 B
JavaScript
import { computed } from '@ember/object';
|
|
import Component from '@ember/component';
|
|
|
|
export default Component.extend({
|
|
onDataUpdate: () => {},
|
|
listData: computed('listLength', function() {
|
|
let num = this.get('listLength');
|
|
if (num) {
|
|
num = parseInt(num, 10);
|
|
}
|
|
return Array(num || 0)
|
|
.fill(null)
|
|
.map(() => ({ value: '' }));
|
|
}),
|
|
listLength: 0,
|
|
actions: {
|
|
setKey(index, key) {
|
|
let listData = this.get('listData');
|
|
listData.replace(index, 1, key);
|
|
this.get('onDataUpdate')(listData.compact().map(k => k.value));
|
|
},
|
|
},
|
|
});
|