publish-article.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <template>
  2. <div>
  3. <v-row justify="center">
  4. <v-text-field
  5. v-model="articlePost.title"
  6. placeholder="标题"
  7. label="标题(50字以内)"
  8. clearable
  9. />
  10. </v-row>
  11. <v-row justify="center">
  12. <v-btn @click="publish">立即投稿</v-btn>
  13. </v-row>
  14. <v-row justify="center" align="center">
  15. <RichText @content="procContent" />
  16. </v-row>
  17. <v-snackbar
  18. v-model="showMessage"
  19. :top="true"
  20. :timeout="3000"
  21. >
  22. {{ message }}
  23. <template v-slot:action="{ attrs }">
  24. <v-btn
  25. color="pink"
  26. text
  27. v-bind="attrs"
  28. @click="showMessage = false"
  29. >
  30. 关闭
  31. </v-btn>
  32. </template>
  33. </v-snackbar>
  34. </div>
  35. </template>
  36. <script>
  37. import RichText from '@/components/upload/rich-text'
  38. export default {
  39. components: {
  40. RichText
  41. },
  42. data() {
  43. return {
  44. articlePost: {
  45. title: null,
  46. content: null
  47. },
  48. showMessage: false,
  49. message: ''
  50. }
  51. },
  52. created() {
  53. },
  54. methods: {
  55. setTitle(title) {
  56. if (title.length > 50) {
  57. this.articlePost.title = title.substring(0, 50)
  58. } else {
  59. this.articlePost.title = title
  60. }
  61. },
  62. procContent(value) {
  63. this.articlePost.content = value
  64. },
  65. publish() {
  66. if (this.articlePost.title === null || this.articlePost.title === '') {
  67. this.message = '稿件标题不能为空'
  68. this.showMessage = true
  69. return
  70. }
  71. if (this.articlePost.content === null) {
  72. this.message = '你还没有编写内容'
  73. this.showMessage = true
  74. return
  75. }
  76. console.log(this.articlePost)
  77. }
  78. }
  79. }
  80. </script>
  81. <style>
  82. </style>