v-if="['xlsx', 'xls', 'doc', 'docx', 'txt'].indexOf(scope.row.fileType) !== -1"
这段代码使用了 Vue.js 的条件渲染指令 v-if 来判断是否需要渲染一个元素。在这里,v-if 中的条件表达式为:
[‘xlsx’, ‘xls’, ‘doc’, ‘docx’, ‘txt’].indexOf(scope.row.fileType) !== -1
该条件表达式会返回一个布尔值,用于控制元素的显示和隐藏。
条件表达式中的 [‘xlsx’, ‘xls’, ‘doc’, ‘docx’, ‘txt’] 是一个包含了多个文件类型字符串的数组,它表示能够预览的文件类型。**indexOf() 方法可以用来查找数组中某个元素的位置,如果找到了,则返回该元素在数组中的索引;否则返回 -1。**因此,indexOf(scope.row.fileType) 表示当前文件类型在数组中的索引,如果当前文件类型不在数组中,则为 -1。
整个条件表达式的意思是,只有当 scope.row.fileType 的值为 “xlsx”、“xls”、“doc”、“docx” 或 “txt” 时,才返回该文件类型在数组中的索引,并判断是否不等于 -1,即当前文件类型在数组中存在,从而显示该元素。