rate.wxs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. module.exports = {
  2. getText: function (texts, val, defaultTexts) {
  3. if (!texts.length) {
  4. texts = defaultTexts;
  5. }
  6. var curVal = Math.floor(val - 1);
  7. return texts[curVal] || '未评分';
  8. },
  9. getIconName: function (defaultValue, value, index, icon) {
  10. var curVal = value ? value : defaultValue;
  11. var name = ['star-filled', 'star-filled'];
  12. if (icon) {
  13. name = icon.constructor == 'Array' ? icon : [icon, icon];
  14. }
  15. return name[curVal >= index + 1 ? 0 : 1];
  16. },
  17. getIconClass: function (classPrefix, defaultValue, value, index, allowHalf, disabled, scaleIndex) {
  18. var curVal = value ? value : defaultValue;
  19. var className = [];
  20. if (curVal >= index + 1) {
  21. className.push(classPrefix + '--selected');
  22. if (disabled) {
  23. className.push(classPrefix + '--disabled');
  24. }
  25. if (scaleIndex === index + 1) {
  26. className.push(classPrefix + '--current');
  27. }
  28. } else if (allowHalf && curVal - index > 0) {
  29. className.push(classPrefix + '--selected-half');
  30. if (scaleIndex === index + 1) {
  31. className.push(classPrefix + '--current');
  32. }
  33. if (disabled) {
  34. className.push(classPrefix + '--disabled-half');
  35. }
  36. } else {
  37. className.push(classPrefix + '--unselected');
  38. }
  39. return className.join(' ');
  40. },
  41. ceil: function (value) {
  42. return Math.ceil(value);
  43. },
  44. getColor: function (color) {
  45. if (color.constructor === 'Array' && color.length === 2) {
  46. return ';--td-rate-selected-color: ' + color[0] + '; --td-rate-unselected-color: ' + color[1];
  47. }
  48. if (typeof color === 'string') {
  49. return ';--td-rate-selected-color: ' + color;
  50. }
  51. return '';
  52. },
  53. regSize: function (val) {
  54. return val.indexOf('px') ? val : val + 'px';
  55. },
  56. };