Component({ data: { specialtiesText: '', }, properties: { lawyer: { type: Object, value: null, }, showOffice: { type: Boolean, value: true, }, }, observers: { lawyer(lawyer: { specialties?: string[] } | null) { const specialties = lawyer && Array.isArray(lawyer.specialties) ? lawyer.specialties : []; this.setData({ specialties, // Expose array for wx:for specialtiesText: specialties.join(' | '), }); }, }, methods: { handleTap() { const lawyer = this.properties.lawyer as { id?: string } | null; this.triggerEvent('select', { id: lawyer && typeof lawyer.id === 'string' ? lawyer.id : '', }); }, }, });