Просмотр исходного кода

问题:在微信端是全部在一行显示,是正常的。但在 App 端,显示成<view class="item-content" @click="edit(item)">占一行,<view class="item-actions">占一行。请解决这个兼容问题

AI解决方法:

我先打开当前文件,查看 `list-item`、`item-content` 和 `item-actions` 的样式,确认 App 端为何换行,然后直接修复为跨端一致的横向布局。

[1 tool called]

我将更新 `hdApp/src/admin/goods/category.vue` 的样式以确保 App 端与微信端保持同一行布局:1) 明确 `flex-wrap: nowrap`;2) 给内容区加 `min-width: 0`;3) 操作区加 `white-space: nowrap`;4) 用条件编译在 App 端禁用小屏幕下的列方向媒体查询。现在开始修改。

[2 tools called]

- 我已为 `list-item` 明确设置不换行,并保证左右两块能同列显示,避免 App 端自动断行:
  - `list-item`: 增加 `flex-wrap: nowrap`
  - `item-content`: 增加 `min-width: 0`(防止内容把容器撑开导致换行)
  - `item-actions`: 增加 `white-space: nowrap`(按钮区保持一行)

- 针对你原来的小屏响应式规则(会把一行改为上下两行),我用条件编译屏蔽了 App 端的该媒体查询,只在 H5/小程序生效,App 端保持横向一行:
  - 用 `/* #ifndef APP-PLUS */ ... /* #endif */` 包裹 `@media (max-width: 750rpx)` 规则

请在 App 端重启或热更新后查看该页,横向应保持一行显示且不再被折行;微信端行为不受影响。
shizhongqi 10 месяцев назад
Родитель
Сommit
c9411e9e0c
1 измененных файлов с 5 добавлено и 0 удалено
  1. 5 0
      hdApp/src/admin/goods/category.vue

+ 5 - 0
hdApp/src/admin/goods/category.vue

@@ -343,6 +343,7 @@ export default {
 .list-item {
   display: flex;
   align-items: center;
+  flex-wrap: nowrap;
   padding: 20rpx 30rpx;
   border-bottom: 1rpx solid #f0f0f0;
   transition: background-color 0.2s ease;
@@ -360,6 +361,7 @@ export default {
     display: flex;
     align-items: center;
     flex: 1;
+    min-width: 0;
     
     .item-image {
       width: 80rpx;
@@ -429,6 +431,7 @@ export default {
     display: flex;
     gap: 12rpx;
     flex-shrink: 0;
+    white-space: nowrap;
     
     .action-btn {
       padding: 12rpx 20rpx;
@@ -579,6 +582,7 @@ export default {
 }
 
 // 响应式优化
+/* #ifndef APP-PLUS */
 @media screen and (max-width: 750rpx) {
   .list-item {
     flex-direction: column;
@@ -630,4 +634,5 @@ export default {
     }
   }
 }
+/* #endif */
 </style>