Showing
1 changed file
with
22 additions
and
2 deletions
| 1 | <!-- | 1 | <!-- |
| 2 | * @Date: 2022-08-30 14:32:11 | 2 | * @Date: 2022-08-30 14:32:11 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2024-11-21 13:14:21 | 4 | + * @LastEditTime: 2024-11-21 13:34:36 |
| 5 | * @FilePath: /data-table/src/components/AreaPickerField/index.vue | 5 | * @FilePath: /data-table/src/components/AreaPickerField/index.vue |
| 6 | * @Description: 省市区选择控件 | 6 | * @Description: 省市区选择控件 |
| 7 | --> | 7 | --> |
| ... | @@ -84,6 +84,15 @@ const validatorMessage = (val, rule) => { | ... | @@ -84,6 +84,15 @@ const validatorMessage = (val, rule) => { |
| 84 | }; | 84 | }; |
| 85 | const rules = [{ validator, message: validatorMessage }]; | 85 | const rules = [{ validator, message: validatorMessage }]; |
| 86 | 86 | ||
| 87 | +const isJSON = (value) => { | ||
| 88 | + try { | ||
| 89 | + JSON.parse(value); | ||
| 90 | + return true; | ||
| 91 | + } catch (e) { | ||
| 92 | + return false; | ||
| 93 | + } | ||
| 94 | +} | ||
| 95 | + | ||
| 87 | // 子组件通信,适配规则触发 | 96 | // 子组件通信,适配规则触发 |
| 88 | const onActive = (val) => { | 97 | const onActive = (val) => { |
| 89 | // 适配cookie保存未完成表单 | 98 | // 适配cookie保存未完成表单 |
| ... | @@ -94,11 +103,22 @@ const onActive = (val) => { | ... | @@ -94,11 +103,22 @@ const onActive = (val) => { |
| 94 | // 如果Cookie存在,更新它 | 103 | // 如果Cookie存在,更新它 |
| 95 | let obj = JSON.parse(existingCookie); | 104 | let obj = JSON.parse(existingCookie); |
| 96 | if (val.city_code) { // 修改了 | 105 | if (val.city_code) { // 修改了 |
| 97 | - let temp = JSON.parse(obj[props.item.key]); | 106 | + let temp = null; |
| 107 | + if (isJSON(obj[props.item.key])) { | ||
| 108 | + temp = JSON.parse(obj[props.item.key]); | ||
| 98 | temp.city_code = val.city_code; | 109 | temp.city_code = val.city_code; |
| 99 | temp.province = val.province; | 110 | temp.province = val.province; |
| 100 | temp.city = val.city; | 111 | temp.city = val.city; |
| 101 | temp.district = val.district; | 112 | temp.district = val.district; |
| 113 | + } else { | ||
| 114 | + temp = { | ||
| 115 | + city_code: val.city_code, | ||
| 116 | + province: val.province, | ||
| 117 | + city: val.city, | ||
| 118 | + district: val.district, | ||
| 119 | + street: val.street, | ||
| 120 | + }; | ||
| 121 | + } | ||
| 102 | obj[props.item.key] = JSON.stringify(temp); // 替换掉旧值 | 122 | obj[props.item.key] = JSON.stringify(temp); // 替换掉旧值 |
| 103 | } else { // 只修改了地址 | 123 | } else { // 只修改了地址 |
| 104 | let temp = JSON.parse(obj[props.item.key]); | 124 | let temp = JSON.parse(obj[props.item.key]); | ... | ... |
-
Please register or login to post a comment