rate.wxs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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, variant, 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. } else if (variant === 'outline') {
  15. name[1] = 'star';
  16. }
  17. return name[curVal >= index + 1 ? 0 : 1];
  18. },
  19. getIconClass: function (classPrefix, defaultValue, value, index, allowHalf, disabled, scaleIndex) {
  20. var curVal = value ? value : defaultValue;
  21. var className = [];
  22. if (curVal >= index + 1) {
  23. className.push(classPrefix + '--selected');
  24. if (disabled) {
  25. className.push(classPrefix + '--disabled');
  26. }
  27. if (scaleIndex === index + 1) {
  28. className.push(classPrefix + '--current');
  29. }
  30. } else if (allowHalf && curVal - index > 0) {
  31. className.push(classPrefix + '--selected-half');
  32. if (scaleIndex === index + 1) {
  33. className.push(classPrefix + '--current');
  34. }
  35. if (disabled) {
  36. className.push(classPrefix + '--disabled-half');
  37. }
  38. } else {
  39. className.push(classPrefix + '--unselected');
  40. }
  41. return className.join(' ');
  42. },
  43. ceil: function (value) {
  44. return Math.ceil(value);
  45. },
  46. getColor: function (color) {
  47. if (color.constructor === 'Array' && color.length === 2) {
  48. return ';--td-rate-selected-color: ' + color[0] + '; --td-rate-unselected-color: ' + color[1];
  49. }
  50. if (typeof color === 'string') {
  51. return ';--td-rate-selected-color: ' + color;
  52. }
  53. return '';
  54. },
  55. regSize: function (val) {
  56. return val.indexOf('px') ? val : val + 'px';
  57. },
  58. };