diff --git a/src/views/modules/labelSetting/LabelDesigner.vue b/src/views/modules/labelSetting/LabelDesigner.vue index 0d54487..3c2c0c9 100644 --- a/src/views/modules/labelSetting/LabelDesigner.vue +++ b/src/views/modules/labelSetting/LabelDesigner.vue @@ -430,7 +430,11 @@ export default { try { const { data } = await getZplElements({ reportId: this.labelNo }) if (data.code === 200) { - this.elements = data.data || [] + // 修复:对每个元素补全属性,保证响应式 + const defaultElement = { + type: '', x: 0, y: 0, data: '', fontSize: 30, bold: false, newline: false, lineRows: 2, lineWidth: 200, digits: 6, step: 1, width: 100, height: 30, previewUrl: '' + }; + this.elements = (data.data || []).map(item => Object.assign({}, defaultElement, item)); } } catch (error) { this.$message.error('加载标签元素失败') @@ -482,22 +486,22 @@ export default { text: { width: 100, height: 30, - data: '文本元素' + data: '' }, barcode: { width: 3, height: 50, - data: '123456789' + data: '' }, onecode: { width: 3, height: 50, - data: '123456789' + data: '' }, qrcode: { width: 10, height: 10, - data: 'QR Code' + data: '' }, pic: { width: 100,