有時候須要在表格中顯示JSON對象的格式,實現的原理javascript
判斷數據是不是對象類型,若是是增長pre元素與code元素並替換引號,判斷的方法寫在methods裏面,根據函數返回的true或者false 來肯定如何顯示html
HTML 代碼java
<el-table :data="decryptTableData1" border height="calc(100% - 61px)"> <el-table-column fixed prop="name" label="名稱" width="100px"></el-table-column> <el-table-column prop="value" label="信息" max-width="700px"> <template slot-scope="scope"> <div v-if="dataObject(scope.row.value)"> <!-- <pre style="overflow:auto;"><code>{{ JSON.stringify(scope.row.info, null, 4)}}</code></pre> --> <pre style="overflow:auto;"><code>{{ JSON.stringify(scope.row.value, null, 4).replace(/\"/g, "")}}</code></pre> <!-- <pre>{{ JSON.stringify(JSON.parse(scope.row.info), null, 4)}}</pre> --> </div> <div v-else>{{ scope.row.value }}</div> </template> </el-table-column> </el-table>
數據格式函數
decryptTableData1: [ { name: "名稱1", value: "01" }, { name: "名稱2", value: 151 }, { name: "名稱3", value: "01" }, { name: "名稱4", value: { 子名稱1: "191112152638", 子名稱2: 2, 子名稱3: "0000111100000034" } } ],
判斷是不是對象的方法prototype
dataObject(info) { try { return Object.prototype.toString.call(info) === "[object Object]"; } catch (e) { return false; } },