index.wxml 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <template name="zan-select">
  2. <radio-group
  3. class="zan-select__list"
  4. name="{{ name || componentId || '' }}"
  5. bindchange="_handleZanSelectChange"
  6. data-component-id="{{ componentId }}"
  7. >
  8. <label wx:for="{{ items }}" wx:key="value">
  9. <view class="zan-cell">
  10. <radio class="zan-select__radio" value="{{ item.value }}" checked="{{ item.value === checkedValue }}"/>
  11. <view
  12. class="zan-cell__bd"
  13. style="{{ parse.getItemStyle(item, checkedValue, activeColor) }}"
  14. >{{ item.name }}</view>
  15. <view wx:if="{{ item.value === checkedValue }}" class="zan-cell__ft">
  16. <icon type="success_no_circle" color="{{ parse.getColor(activeColor) }}" size="14"></icon>
  17. </view>
  18. </view>
  19. </label>
  20. </radio-group>
  21. </template>
  22. <wxs module="parse">
  23. function getColor(color) {
  24. color = color || '#ff4444'
  25. return color;
  26. }
  27. module.exports = {
  28. getColor: getColor,
  29. getItemStyle: function(item, checkedValue, activeColor) {
  30. var padding = item.padding * 10;
  31. var style = 'padding-left: ' + padding + 'px;';
  32. // 如果为选中状态,则高亮
  33. if (item.value === checkedValue) {
  34. style += 'color: ' + getColor(activeColor);
  35. }
  36. return style;
  37. }
  38. };
  39. </wxs>