uniapp如何设置动态样式

 8768

uniapp设置动态样式的方法:1、用户点击按钮后动态切换按钮选中样式;2、给标签渲染多种颜色,代码为【.signstyle-0{color: #3ac9e3;border: 1px solid #3ac9e3;}】。


uniapp如何设置动态样式


本教程操作环境:windows7系统、uni-app2.5.1版本,该方法适用于所有品牌电脑。


uniapp设置动态样式的方法:

场景一:用户点击按钮后动态切换按钮选中样式(如图)

  1. <view class="state-btn-content">
  2.     <view @tap="selectState" data-state="over" :class="[whichSelected=='over'?'state-btn-selected':'state-btn-noselect']">已上线</view>
  3.     <view @tap="selectState" data-state="pre" :class="[whichSelected=='pre'?'state-btn-selected':'state-btn-noselect']">未开始</view>
  4. </view>
  5. //选择状态
  6. selectState(e){
  7.     this.whichSelected=e.currentTarget.dataset.state
  8. }
  9. .state-btn-content{
  10.     //write your style
  11.     .state-btn-selected{ ... }
  12.     .state-btn-noselect{ ... }
  13. }

注:需要注意的就是一个标签里尽量不要同时用静态class与动态class,可能会造成兼容问题。最好只是用一种方式的,如上代码里为了实现动态改变样式只使用了:class


错误示范:

  1. <view @click="selectState" data-state="over" class="state-btn-noselect" :class="[whichSelected=='over'?'state-btn-selected':'']">已上线</view>


场景二:给标签渲染多种颜色(如图)

  1. <view :class="['every-sign-item',`signstyle-${index%6}`]" v-for="(item,index) in preSignList" :key="index">{{item.name}}</view>
  2. .every-sign-item{
  3.     padding: 4rpx 16rpx;
  4.     border-radius: 24rpx;
  5.     font-size: 24rpx;
  6.     margin-right: 20rpx;
  7.     margin-bottom: 20rpx;
  8. }
  9. .signstyle-0{
  10.     color: #3ac9e3;
  11.     border: 1px solid #3ac9e3;
  12. }
  13. .signstyle-1{
  14.     color: #fd8888;
  15.     border: 1px solid #fd8888;
  16. }
  17. .signstyle-2{ ... }
  18. .signstyle-3{ ... }
  19. .signstyle-4{ ... }
  20. .signstyle-5{ ... }



TAG标签:
本文网址:https://www.zztuku.com/detail-8598.html
站长图库 - uniapp如何设置动态样式
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐