fix: 修复策略编辑页股票搜索报错和渲染问题:1. 修复TypeError报错;2. 降低搜索触发门槛为1位;3. 适配后端返回小写字段

This commit is contained in:
claw_bot 2026-03-09 11:13:10 +00:00
parent 6c8900ecd5
commit 3a997c8fdf

View File

@ -121,8 +121,11 @@
:key="idx" :key="idx"
@click="selectStock(result)" @click="selectStock(result)"
> >
<text class="item-ticker">{{ result.Ticker }}</text> <view class="item-left">
<text class="item-exchange">{{ result.Exchange }}</text> <text class="item-ticker">{{ result.ticker }}</text>
<text class="item-type" v-if="result.assetType">{{ result.assetType }}</text>
</view>
<text class="item-exchange">{{ result.exchange }}</text>
</view> </view>
</view> </view>
</view> </view>
@ -244,7 +247,9 @@ const searchTimer = ref(null);
const searchStock = async (keyword, assetIndex) => { const searchStock = async (keyword, assetIndex) => {
// //
if (searchTimer.value) clearTimeout(searchTimer.value); if (searchTimer.value) clearTimeout(searchTimer.value);
if (!keyword || keyword.length < 2) { //
activeAssetIndex.value = assetIndex;
if (!keyword || keyword.length < 1) {
searchResults.value = []; searchResults.value = [];
activeAssetIndex.value = -1; activeAssetIndex.value = -1;
return; return;
@ -271,7 +276,7 @@ const searchStock = async (keyword, assetIndex) => {
const selectStock = (result) => { const selectStock = (result) => {
const asset = formData.value.assets[result.assetIndex]; const asset = formData.value.assets[result.assetIndex];
if (asset) { if (asset) {
asset.symbol = result.Ticker; asset.symbol = result.ticker;
} }
searchResults.value = []; searchResults.value = [];
activeAssetIndex.value = -1; activeAssetIndex.value = -1;
@ -822,12 +827,27 @@ onMounted(() => {
background-color: #F3F4F6; background-color: #F3F4F6;
} }
.item-left {
display: flex;
flex-direction: row;
align-items: center;
gap: 12rpx;
}
.item-ticker { .item-ticker {
font-size: 26rpx; font-size: 26rpx;
font-weight: 600; font-weight: 600;
color: #1F2937; color: #1F2937;
} }
.item-type {
font-size: 18rpx;
color: #064E3B;
background-color: #D1FAE5;
padding: 2rpx 8rpx;
border-radius: 4rpx;
}
.item-exchange { .item-exchange {
font-size: 22rpx; font-size: 22rpx;
color: #9CA3AF; color: #9CA3AF;