折腾:
【已解决】微信小程序开发工具中去画界面实现首页布局
期间,已经实现数据显示到list列表中了,现在再去弄每行的布局:

即:列表内每行内的左右布局:
- 左边是图片
- 右边是文字
- 且多行,每行:
- 左边是key
- 右边是value
现在用代码:
<view wx:for="{{searchBookList}}" wx:for-index="bookIdx" wx:for-item="curBookItem">
<view class='book_list_item'>
<view class='book_item_logo'>
<image
class='book_item_logo_img'
src="{{curBookItem.coverImgUrl}}"
width="100"
height="140"
/>
</view>
<view class='book_list_item_attributes'>
<text class='book_list_item_title'>{{curBookItem.title}}</text>
<view class='book_list_attribute_row'>
<text class='book_list_attribute_key'>作者:</text>
<text class='book_list_attribute_value'>{{curBookItem.author.bookAuthors}}</text>
</view>
<view class='book_list_attribute_row'>
<text class='book_list_attribute_key'>兰斯指数:</text>
<text class='book_list_attribute_value'>{{curBookItem.grading.lexile}}</text>
</view>
<view class='book_list_attribute_row'>
<text class='book_list_attribute_key'>参考年龄:</text>
<text class='book_list_attribute_value'>{{curBookItem.grading.age}}</text>
</view>
<view class='book_list_attribute_tags'>
<view wx:for="{{curBookItem.tags}}" wx:for-index="tagIdx" wx:for-item="eachTag">
<text class='book_single_tag'>{{eachTag}}</text>
</view>
</view>
</view>
</view>
</view>还没去加css
效果是:


先去解决警告:
【已解决】小程序中for循环的list元素警告:Now you can provide attr “wx:key” for a “wx:for” to improve performance
接下来就是:
想办法实现,左边布局,和右边内部上下每行的布局了。
参考:
用
display:flex; display:flex; flex-direction:column; display:flex; flex-direction:row;
<view class="list-item">
<image class="left" src="../../resources/headImg.jpg"></image>
<view class="right">
<view class="title">
<view class="name">name</view>
<view class="phone">phone</view>
</view>
<view class="time">time</view>
</view>
</view>
.list-item{
height: 100rpx;
display: flex;
flex-direction: row;
padding:20rpx;
}
.left{
width: 100rpx;
height:100rpx;
}
.right{
width: 590rpx;
height: 100rpx;
margin-left: 20rpx;
display: flex;
flex-direction: row;
} 之前还是再去看看:
小程序 view 布局
目前用如下配置:
index.wxml
<!--index.wxml-->
<view class="container">
<view class="logo">
<image class="img_logo" src="../../images/logo_144x144.png" alt="xxx Logo"></image>
</view>
<text class='app_title'>绘本查询精灵</text>
<view class="section input_and_query">
<input
id="queryInput"
bindinput='inputCallback'
bindconfirm="inputConfirmCallback"
type="text"
placeholder="请输入要查询的英文绘本名称"
value="">
</input>
<button id="queryButton" bindtap="submitQuery">查询</button>
</view>
<view class='search_result_books'>
<view
wx:for="{{searchBookList}}"
wx:for-index="bookIdx"
wx:for-item="curBookItem"
wx:key="id"
class='book_list_item'
>
<view class='book_item_logo'>
<image
class='book_item_logo_img'
src="{{curBookItem.coverImgUrl}}"
/>
</view>
<view class='book_list_item_attributes'>
<view class='book_list_item_title'>{{curBookItem.title}}</view>
<view class='book_list_attribute_row'>
<text class='book_list_attribute_key'>作者:</text>
<text class='book_list_attribute_value'>{{curBookItem.author.bookAuthors}}</text>
</view>
<view class='book_list_attribute_row'>
<text class='book_list_attribute_key'>兰斯指数:</text>
<text class='book_list_attribute_value'>{{curBookItem.grading.lexile}}</text>
</view>
<view class='book_list_attribute_row'>
<text class='book_list_attribute_key'>参考年龄:</text>
<text class='book_list_attribute_value'>{{curBookItem.grading.age}}</text>
</view>
<view class='book_list_attribute_tags'>
<view
wx:for="{{curBookItem.tags}}"
wx:for-index="tagIdx"
wx:for-item="eachTag"
wx:key="*this"
>
<text class='book_single_tag'>{{eachTag}}</text>
</view>
</view>
</view>
</view>
</view>
</view>index.wxss
/**index.wxss**/
.img_logo{
width: 120px;
height: 120px;
padding-top: 48px;
padding-bottom: 25px;
}
.app_title{
font-size: 24px;
margin-bottom: 20px;
font-family: "PingFangSC-Regular", "苹方", "Microsoft Yahei", "微软雅黑", "Heiti SC";
}
.input_and_query{
height: 28px;
width: 80%;
/* width: 100%; */
/* margin-left: 39px;
margin-right: 39px; */
/* padding-left: 39px;
padding-right: 39px; */
vertical-align: center;
margin-bottom: 16px;
}
#queryInput{
font-size: 13px;
border-radius: 16px;
/* height: 28px; */
border: 1px solid #ced4da;
float:left;
width:75%;
display: flex;
align-items: center;
justify-content: center;
}
#queryButton{
margin-left: 5px;
background-color: #61D2B3;
font-size: 15px;
border-radius: 16px;
height: 28px;
float:left;
width:20%;
display: flex;
align-items: center;
justify-content: center;
}
.search_result_books{
padding-top: 28px;
padding-bottom: 28px;
margin-left: 15px;
margin-right: 15px;
}
.book_list_item{
display: flex;
flex-direction:row;
padding-bottom: 15px;
font-size: 14px;
color: #666666;
}
.book_item_logo_img{
width: 100px;
height: 140px;
border-radius: 8px;
margin-right: 22px;
}
.book_list_item_attributes{
display: flex;
flex-direction: column;
/* font-family: PingFangSC-Light; */
font-family: "PingFangSC-Medium", "Microsoft Yahei", "微软雅黑", "Heiti SC";
}
.book_list_item_title{
margin-top: 6px;
margin-bottom: 10px;
font-size: 18px;
font-weight: 500;
color: #333333;
line-height: 1.2;
}
.book_list_attribute_row{
margin-bottom: 9px;
line-height: 14px;
}
.book_list_attribute_key{
color: #333333;
}
.book_list_attribute_value{
}基本上大部分实现了要显示的效果:


先去解决图片显示问题:
【基本解决】小程序中设置图片的宽和高的大小
再去:
【已解决】小程序中实现类似于Bootstrap中的tag标签
【总结】
此处用:
index.wxml
<view class='search_result_books'>
<view
wx:for="{{searchBookList}}"
wx:for-index="bookIdx"
wx:for-item="curBookItem"
wx:key="id"
class='book_list_item'
>
<view class='book_item_logo'>
<image
class='book_item_logo_img'
src="{{curBookItem.coverImgUrl}}"
/>
</view>
<view class='book_list_item_attributes'>
<view class='book_list_item_title'>{{curBookItem.title}}</view>
<view class='book_list_attribute_row'>
<text class='book_list_attribute_key'>作者:</text>
<text class='book_list_attribute_value'>{{curBookItem.author.bookAuthors}}</text>
</view>
<view class='book_list_attribute_row'>
<text class='book_list_attribute_key'>兰斯指数:</text>
<text class='book_list_attribute_value'>{{curBookItem.grading.lexile}}</text>
</view>
<view class='book_list_attribute_row'>
<text class='book_list_attribute_key'>参考年龄:</text>
<text class='book_list_attribute_value'>{{curBookItem.grading.age}}</text>
</view>
<view class='book_list_attribute_tags'>
<view
wx:for="{{curBookItem.tags}}"
wx:for-index="tagIdx"
wx:for-item="eachTag"
wx:key="*this"
class='book_single_tag'
>
<text class='book_single_tag_value'>{{eachTag}}</text>
</view>
</view>
</view>
</view>
</view>和:
index.wxss
.search_result_books{
padding-top: 28px;
padding-bottom: 28px;
margin-left: 15px;
margin-right: 15px;
}
.book_list_item{
display: flex;
flex-direction:row;
padding-bottom: 15px;
font-size: 14px;
color: #666666;
}
.book_item_logo_img{
width: 100px;
height: 140px;
border-radius: 8px;
margin-right: 22px;
}
.book_list_item_attributes{
display: flex;
flex-direction: column;
/* font-family: PingFangSC-Light; */
font-family: "PingFangSC-Medium", "Microsoft Yahei", "微软雅黑", "Heiti SC";
}
.book_list_item_title{
margin-top: 6px;
margin-bottom: 10px;
font-size: 18px;
font-weight: 500;
color: #333333;
line-height: 1.2;
}
.book_list_attribute_row{
margin-bottom: 9px;
line-height: 14px;
}
.book_list_attribute_key{
color: #333333;
}
.book_list_attribute_value{
}
.book_single_tag{
font-size: 12px;
font-weight: 400;
margin-right: 4px;
padding-top: 1px;
padding-bottom: 0;
background-color: rgba(97, 210, 179, 0.8);
color: rgba(255, 255, 255, 0.9);
height: 15px;
line-height: 14px;
display: inline-block;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
padding-right: 0.6em;
padding-left: 0.6em;
border-radius: 10rem;
}
.book_single_tag_value{
}基本上实现了:
左边是图片,右边是文字,且文字从上到下的效果:

转载请注明:在路上 » 【已解决】小程序中列表中实现每行左边图片右边多行键值对的文字效果