diff --git a/src/mixins.js b/src/mixins.js
index c07c823bd19b6c058080197e195a71e315deb8f1..4b76f5a386b34371469ec132664228587448c164 100644
--- a/src/mixins.js
+++ b/src/mixins.js
@@ -1,3 +1,4 @@
+import { defineComponent } from 'vue'
 import { TRUNCATE_LENGTHS } from './config'
 import { ensureArray } from './helpers'
 
@@ -6,7 +7,7 @@ const truncateFilter = maxLength => text => {
   return text ?? ''
 }
 
-export const truncateMixin = {
+export const truncateMixin = defineComponent({
   methods: {
     truncateSelect: truncateFilter(TRUNCATE_LENGTHS.select),
     truncateLong: truncateFilter(TRUNCATE_LENGTHS.long),
@@ -14,7 +15,7 @@ export const truncateMixin = {
     truncateNotification: truncateFilter(TRUNCATE_LENGTHS.notification),
     truncateId: truncateFilter(TRUNCATE_LENGTHS.id)
   }
-}
+})
 
 const corporaFilters = {
   // From a corpus, returns true if the corpus is readable.