提交 4e69bd31 编写于 作者: Q qiang

fix: 修复 App 端 data-set 部分数据为 string 类型时显示错误的问题 question/100073

上级 8ee0d17c
......@@ -6,7 +6,7 @@ import {
import {
MOUNTED_DATA,
UPDATED_DATA,
UPDATED_DATA,
VD_SYNC_VERSION
} from '../../../constants'
......@@ -137,6 +137,10 @@ function parseExternalClasses (clazz, vm) {
return clazz
}
function isNotSafeString (value) {
return value === 'null' || value === 'true' || value === 'false' || !isNaN(Number(value)) || (value.startsWith('[') && value.endsWith(']')) || (value.startsWith('{') && value.endsWith('}'))
}
function setData (id, name, value) {
switch (name) {
case B_CLASS:
......@@ -157,7 +161,7 @@ function setData (id, name, value) {
return setForData.call(this, id, value)
}
// TODO 暂时先传递 dataset 至 view 层(理论上不需要)
if (name.indexOf('a-data-') === 0) {
if (name.indexOf('a-data-') === 0 && (typeof value !== 'string' || isNotSafeString(value))) {
try {
value = JSON.stringify(value)
} catch (e) {}
......@@ -203,4 +207,4 @@ function setForData (id, value) {
(vForData[forIndex] || (vForData[forIndex] = {}))['k' + value.keyIndex] = key
}
return key
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册