remotePicker.js 945 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // components/remotePicker/remotePicker.js
  2. import {
  3. postApi
  4. } from "../../apis/api"
  5. Component({
  6. properties: {
  7. url: {
  8. type: String
  9. },
  10. params: {
  11. type: Object
  12. }
  13. },
  14. data: {
  15. arr: [],
  16. value: '',
  17. label: '',
  18. },
  19. methods: {
  20. async _getList() {
  21. let res = await postApi(this.data.url, {
  22. ...this.data.params,
  23. term: this.data.label
  24. })
  25. this.setData({
  26. arr: res.data.result,
  27. label: ''
  28. })
  29. },
  30. _selectItem(e) {
  31. let {
  32. label,
  33. value
  34. } = e.currentTarget.dataset
  35. this.setData({
  36. label,
  37. value,
  38. arr: []
  39. })
  40. this.triggerEvent('selectItem', {
  41. label,
  42. value
  43. })
  44. },
  45. _handlerOne() {
  46. this.setData({
  47. arr: []
  48. })
  49. },
  50. _clear() {
  51. this.setData({
  52. label: ''
  53. })
  54. }
  55. },
  56. options: {
  57. styleIsolation: 'isolated'
  58. }
  59. })