首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >离子离子复选框我们可以用另一个图标改变图标吗?

离子离子复选框我们可以用另一个图标改变图标吗?
EN

Stack Overflow用户
提问于 2016-05-13 17:30:35
回答 4查看 8.3K关注 0票数 3

我们能从离子复选框中改变图标吗?

我们能用http://ionicons.com/吗?

现在,我的代码是:

代码语言:javascript
复制
<ion-view>
  <ion-content class="has-header">
    <ion-list>
        <ion-checkbox class="item-checkbox-right">item 1</ion-checkbox>
        <ion-checkbox class="item-checkbox-right">item 2</ion-checkbox>
        <ion-checkbox class="item-checkbox-right">item 3</ion-checkbox>

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-05-20 08:22:12

大谢谢@Atula,我们不能从离子复选框中更改图标,

因此,使用css图标,这里您是我的解决方案(如果您有更好的?(不客气):

拜托,帮帮忙

html

代码语言:javascript
复制
<ion-view>
  <ion-content class="has-header">

  <div id="frameCheckboxHome" data-ng-click="homeCtrl.toggle('Item1')">
    <label>Item1</label><!-- white space 
    --><div id="checkboxHome"><i class="icon ion-heart {{homeCtrl.homeTab['Item1']}}"></i></div>    
  </div>

  <div id="frameCheckboxHome" data-ng-click="homeCtrl.toggle('Item2')">
    <label>Item2</label><!-- white space 
    --><div id="checkboxHome"><i class="icon ion-heart {{homeCtrl.homeTab['Item2']}}"></i></div>    
  </div>

  </ion-content>
</ion-view>

scss

代码语言:javascript
复制
#frameCheckboxHome{
width: 100%;
border-bottom: lightgrey solid 1px;
padding-top: 10px;
padding-bottom: 10px;

label{
    width: 80%;     
    margin: 0px;        
    vertical-align: middle;
    padding-left: 10px;

}
div{
    width: 20%;
    margin: 0px;
    vertical-align: middle;
    display: inline-block;      
    text-align: center;
}
div i{      
    color: lightgrey;
    font-size: 36px;
}
.selected { color: orange; }    
}

js与角流星1.3离子

代码语言:javascript
复制
class Home {

  constructor($scope, $reactive) {
    'ngInject';

    $reactive(this).attach($scope);

    this.myTab = [];

   }

       toggle(param){

    !this.myTab[param] ? this.myTab[param] = "selected" : this.myTab[param] = "";

   }

}

    ...

    .component(name, {
      templateUrl: `imports/ui/components/${name}/${template}.html`,
      controllerAs: 'homeCtrl',
      controller: Home
    })

    ...
票数 2
EN

Stack Overflow用户

发布于 2016-05-14 11:55:06

不,你不能。

如您所见,它是为ion-checkbox设置的默认图标。您只能通过更改颜色、背景、边距、填充等来更改css的样式。

或者是,您可以将复选框更改为<input type="checkbox>,并将其样式设置为ionic

UPADTED我选择了纯css解决方案。css

代码语言:javascript
复制
input[type="checkbox"] {
    display: none;
}

input[type=checkbox]:not(old) + label {
display: inline-block;
padding: 1px;
line-height: 30px;
background:url(https://cdn0.iconfinder.com/data/icons/woocons1/Checkbox%20Empty.png) left top no-repeat;
background-size: 25px 25px;
}

input[type=checkbox]:checked  + label {    background:url(https://cdn0.iconfinder.com/data/icons/woocons1/Checkbox%20Full.png) left top no-repeat;
background-size: 25px 25px;
}

html

代码语言:javascript
复制
<input type="checkbox" id="1">
<label for="1">Sector 1</label>
票数 2
EN

Stack Overflow用户

发布于 2017-03-15 19:20:25

那么,您可以稍微修改一下ion-checkbox的图标;)。

逼近

  1. 删除默认图标
  2. 添加一个HTML元素,其类在ion-checkboxion-checkbox值上发生变化

代码

HTML:

代码语言:javascript
复制
<ion-checkbox class="custom-checkbox" ng-model="itemChecked">
  I'm a checkbox
  <i class="icon"
     ng-class="{'true':'ion-ios-circle-filled', 'false':'ion-ios-circle-outline'}[!!itemChecked]">
  </i>
</ion-checkbox>

CSS:

代码语言:javascript
复制
// positioning custom icon properly
.custom-checkbox .icon {
  font-size: 20px;
  position: absolute;
  left: 16px;
}

// hiding default icon
.custom-checkbox i.checkbox-icon {
  display: none;
}

这是它的CodePen Demo

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37216043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档