ソースを参照

fix(frontend): action-detail/wealth/wisdom-detail 修复 :key 表达式

liaoxg 1 ヶ月 前
コミット
ec1f2eda83

+ 3 - 2
cfc-frontend/pages/action-detail/index.vue

@@ -42,7 +42,7 @@
       </view>
       <view class="insight-group" v-if="relStrengths.length > 0">
         <text class="insight-group-title">💪 关系强项</text>
-        <view class="insight-item" v-for="(item, idx) in relStrengths" :key="'s' + idx">
+        <view class="insight-item" v-for="(item, idx) in relStrengths" :key="getInsightKey('s', idx)">
           <text class="insight-item-name">{{ item.label }}</text>
           <text class="insight-item-score">{{ item.score }}分</text>
           <text class="insight-item-tag tag-strong">强项</text>
@@ -50,7 +50,7 @@
       </view>
       <view class="insight-group" v-if="relImproves.length > 0">
         <text class="insight-group-title">🌱 提升空间</text>
-        <view class="insight-item" v-for="(item, idx) in relImproves" :key="'i' + idx">
+        <view class="insight-item" v-for="(item, idx) in relImproves" :key="getInsightKey('i', idx)">
           <text class="insight-item-name">{{ item.label }}</text>
           <text class="insight-item-score">{{ item.score }}分</text>
           <text class="insight-item-tag tag-improve">待提升</text>
@@ -330,6 +330,7 @@ export default {
     this._watchPageReady()
   },
   methods: {
+    getInsightKey: function(prefix, idx) { return prefix + idx },
     loadSectionConfig: function() {
       var baseSections = ['func_entries']
       if (!uni.getStorageSync('token')) {

+ 3 - 2
cfc-frontend/pages/wealth/index.vue

@@ -113,7 +113,7 @@
         </view>
         <view class="insight-group" v-if="wealthStrengths.length > 0">
           <text class="insight-group-title">💪 财富强项</text>
-          <view class="insight-item" v-for="(item, idx) in wealthStrengths" :key="'s' + idx">
+          <view class="insight-item" v-for="(item, idx) in wealthStrengths" :key="getInsightKey('s', idx)">
             <text class="insight-item-name">{{ item.label }}</text>
             <text class="insight-item-score">{{ item.score }}分</text>
             <text class="insight-item-tag tag-strong">强项</text>
@@ -121,7 +121,7 @@
         </view>
         <view class="insight-group" v-if="wealthImproves.length > 0">
           <text class="insight-group-title">🌱 提升空间</text>
-          <view class="insight-item" v-for="(item, idx) in wealthImproves" :key="'i' + idx">
+          <view class="insight-item" v-for="(item, idx) in wealthImproves" :key="getInsightKey('i', idx)">
             <text class="insight-item-name">{{ item.label }}</text>
             <text class="insight-item-score">{{ item.score }}分</text>
             <text class="insight-item-tag tag-improve">待提升</text>
@@ -390,6 +390,7 @@ export default {
       return messages[month] || messages[0]
     },
   methods: {
+    getInsightKey(prefix, idx) { return prefix + idx },
     onFamilyMemberSelect(member) {
       this.selectedMemberId = member.id
     },

+ 3 - 2
cfc-frontend/pages/wisdom-detail/index.vue

@@ -71,7 +71,7 @@
       <template v-if="cogStrengths.length > 0 || cogImproves.length > 0">
         <view class="insight-group" v-if="cogStrengths.length > 0">
           <text class="insight-group-title">💪 你的强项</text>
-          <view class="insight-item" v-for="(item, idx) in cogStrengths" :key="'s' + idx">
+          <view class="insight-item" v-for="(item, idx) in cogStrengths" :key="getInsightKey('s', idx)">
             <text class="insight-item-name">{{ item.label }}</text>
             <text class="insight-item-score">{{ item.score }}分</text>
             <text class="insight-item-tag tag-strong">强项</text>
@@ -79,7 +79,7 @@
         </view>
         <view class="insight-group" v-if="cogImproves.length > 0">
           <text class="insight-group-title">🌱 提升空间</text>
-          <view class="insight-item" v-for="(item, idx) in cogImproves" :key="'i' + idx">
+          <view class="insight-item" v-for="(item, idx) in cogImproves" :key="getInsightKey('i', idx)">
             <text class="insight-item-name">{{ item.label }}</text>
             <text class="insight-item-score">{{ item.score }}分</text>
             <text class="insight-item-tag tag-improve">待提升</text>
@@ -358,6 +358,7 @@ export default {
     this._watchPageReady()
   },
   methods: {
+    getInsightKey: function(prefix, idx) { return prefix + idx },
     onFamilyMemberSelect: function(member) {
       this.selectedMemberId = member.id
     },